A039999 Number of permutations of digits of n which yield distinct primes.
0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 2, 1, 0, 1, 2, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 2, 1, 0, 1, 1, 0, 2, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 2, 1, 0, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 2, 1, 0, 0, 2, 0, 3, 2, 0
Offset: 1
Examples
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.
Links
- T. D. Noe, Table of n, a(n) for n = 1..10000
- C. Hilliard, PARI program.
Crossrefs
Programs
-
Haskell
import Data.List (permutations, nub) a039999 n = length $ filter ((== 1) . a010051) (map read (nub $ permutations $ show n) :: [Integer]) -- Reinhard Zumkeller, Feb 07 2011
-
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 | [
:i in [1..#x] ] > where x is [1..#y] where y is Intseq(n,10): n in [1..120] ]; // Klaus Brockhaus, Jun 15 2009 -
Mathematica
Table[Count[FromDigits/@Permutations[IntegerDigits[n]],?PrimeQ], {n,110}] (* _Harvey P. Dale, Jun 26 2011 *)
-
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
-
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
Extensions
Contribution of Cino Hilliard edited by Klaus Brockhaus, Jun 15 2009
Edited by M. F. Hasler, Oct 14 2019
Comments