|
|
A096243
|
|
Number of n-digit base-10 deletable primes.
|
|
2
|
|
|
4, 16, 94, 585, 3788, 25768, 182762, 1340905, 10135727, 78580647, 622188500
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
COMMENTS
|
A prime p is a base-b deletable prime if when written in base b it has the property that removing some digit leaves either the empty string or another deletable prime.
Deleting a digit cannot leave any leading zeros in the new string. For example, deleting the 2 in 2003 to obtain 003 is not allowed.
|
|
LINKS
|
|
|
MATHEMATICA
|
b = 10; a = {4}; d = {2, 3, 5, 7};
For[n = 2, n <= 5, n++,
p = Select[Range[b^(n - 1), b^n - 1], PrimeQ[#] &];
ct = 0;
For[i = 1, i <= Length[p], i++,
c = IntegerDigits[p[[i]], b];
For[j = 1, j <= n, j++,
t = Delete[c, j];
If[t[[1]] == 0, Continue[]];
If[MemberQ[d, FromDigits[t, b]], AppendTo[d, p[[i]]]; ct++;
Break[]]]];
AppendTo[a, ct]];
|
|
PROG
|
(Python)
from sympy import isprime
def ok(n, prevset):
if not isprime(n): return False
s = str(n)
si = (s[:i]+s[i+1:] for i in range(len(s)))
return any(t[0] != '0' and int(t) in prevset for t in si)
def afind(terms):
s, snxt = {2, 3, 5, 7}, set()
print(len(s), end=", ")
for n in range(2, terms+1):
for i in range(10**(n-1), 10**n):
if ok(i, s):
snxt.add(i)
s, snxt = snxt, set()
print(len(s), end=", ")
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,more,base
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|