|
PROG
|
(perl/tcsh) "bzcat A069090.b.txt.bz2 | perl -anle 'print length($F[1])' | sort | uniq -c" with https://github.com/barrycarter/bcapps/blob/master/QUORA/A069090.b.txt.bz2
(Python)
from sympy import primerange, isprime
def ok(p):
s = str(p)
if len(s) == 1: return True
return all(not isprime(int(s[:i])) for i in range(1, len(s)))
def a(n): return sum(ok(p) for p in primerange(10**(n-1), 10**n))
(Python) # faster version skipping bad prefixes
from sympy import isprime, nextprime
def a(n):
if n == 1: return 4
p, c = nextprime(10**(n-1)), 0
while p < 10**n:
s, fail = str(p), False
for i in range(1, n):
ti = int(s[:i])
if isprime(ti): fail = i; break
if fail: p = nextprime((ti+1)*10**(n-i))
else: p, c = nextprime(p), c+1
return c
|