OFFSET
1,13
COMMENTS
Consider all k! permutations of digits of a k-digit number n, discard initial zeros, count distinct primes.
LINKS
T. D. Noe, Table of n, a(n) for n = 1..10000
C. Hilliard, PARI program.
EXAMPLE
a(20) = 1, since from {02, 20} we get {2,20} and only 2 is prime.
From 107 we get 4 primes: (0)17, (0)71, 107 and 701; so a(107) = 4.
MATHEMATICA
Table[Count[FromDigits/@Permutations[IntegerDigits[n]], _?PrimeQ], {n, 110}] (* Harvey P. Dale, Jun 26 2011 *)
PROG
(PARI) for(x=1, 400, print1(permprime(x), ", ")) /* for definition of function permprime cf. link */ \\ Cino Hilliard, Jun 07 2009
(PARI) A039999(n, D=vecsort(digits(n)), S)={forperm(D, p, isprime(fromdigits(Vec(p))) && S++); S} \\ Giving the 2nd arg avoids computing it and increases efficiency when the digits are already known. Must be sorted because forperm() only considers "larger" permutations. - M. F. Hasler, Oct 14 2019
(Magma) [ #[ s: s in Seqset([ Seqint([m(p[i]):i in [1..#x] ], 10): p in Permutations(Seqset(x)) ]) | IsPrime(s) ] where m is map< x->y | [<x[i], y[i]>:i in [1..#x] ] > where x is [1..#y] where y is Intseq(n, 10): n in [1..120] ]; // Klaus Brockhaus, Jun 15 2009
(Haskell)
import Data.List (permutations, nub)
a039999 n = length $ filter ((== 1) . a010051)
(map read (nub $ permutations $ show n) :: [Integer])
-- Reinhard Zumkeller, Feb 07 2011
(Python)
from sympy import isprime
from itertools import permutations
def a(n): return len(set(t for p in permutations(str(n)) if isprime(t:=int("".join(p)))))
print([a(n) for n in range(1, 106)]) # Michael S. Branicky, Feb 17 2024
CROSSREFS
KEYWORD
nonn,base,nice
AUTHOR
EXTENSIONS
Contribution of Cino Hilliard edited by Klaus Brockhaus, Jun 15 2009
Edited by M. F. Hasler, Oct 14 2019
STATUS
approved