A344937 a(n) is the largest k such that when strings of zeros of lengths t = 1..k are inserted between every pair of adjacent digits of prime(n), the resulting numbers are all primes.
1, 1, 1, 3, 0, 0, 0, 1, 2, 0, 0, 2, 2, 1, 2, 4, 0, 1, 0, 2, 4, 0, 0, 1, 1, 2, 0, 3, 0, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 2, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0
Offset: 5
Examples
For n = 8: prime(8) = 19 and the numbers 109, 1009 and 10009 are all prime, while 100009 is not. Thus it is possible to insert strings of zeros of lengths 1, 2 and 3 between all adjacent digits of 19 such that the resulting number is prime. Since 3 is the largest length of such a string in case of 19, a(8) = 3.
Programs
-
Mathematica
Table[k=0;While[PrimeQ@FromDigits@Flatten@Riffle[IntegerDigits@Prime@n,{Table[0,k]}],k++];k-1,{n,5,100}] (* Giorgos Kalogeropoulos, Jun 03 2021 *)
-
PARI
eva(n) = subst(Pol(n), x, 10) insert_zeros(num, len) = my(d=digits(num), v=[]); for(k=1, #d-1, v=concat(v, concat([d[k]], vector(len)))); v=concat(v, d[#d]); eva(v) a(n) = my(p=prime(n), ip=p); for(k=1, oo, ip=insert_zeros(p, k); if(!ispseudoprime(ip), return(k-1)))
-
Python
from sympy import isprime, prime def insert_zeros(n, k): return int(("0"*k).join(list(str(n)))) def a(n): pn, k = prime(n), 1 while isprime(insert_zeros(pn, k)): k += 1 return k - 1 print([a(n) for n in range(5, 92)]) # Michael S. Branicky, Jun 03 2021
Comments