login
A096236
Number of n-digit base-3 deletable primes.
2
1, 2, 4, 7, 13, 24, 38, 72, 122, 226, 400, 684, 1246, 2381, 4384, 8330, 15839, 30617, 58764, 113987, 221994, 434498, 852036, 1673320, 3296641, 6509179
OFFSET
1,2
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. "Digit" means digit in base b.
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.
MATHEMATICA
b = 3; a = {1}; d = {2};
For[n = 2, n <= 10, 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]];
a (* Robert Price, Nov 12 2018 *)
PROG
(Python)
from sympy import isprime
from sympy.ntheory.digits import digits
def ok(n, prevset, base=3):
if not isprime(n): return False
s = "".join(str(d) for d in digits(n, base)[1:])
si = (s[:i]+s[i+1:] for i in range(len(s)))
return any(t[0] != '0' and int(t, base) in prevset for t in si)
def afind(terms):
s, snxt, base = {2}, set(), 3
print(len(s), end=", ")
for n in range(2, terms+1):
for i in range(base**(n-1), base**n):
if ok(i, s):
snxt.add(i)
s, snxt = snxt, set()
print(len(s), end=", ")
afind(13) # Michael S. Branicky, Jan 14 2022
CROSSREFS
KEYWORD
nonn,more,base
AUTHOR
Michael Kleber, Feb 28 2003
EXTENSIONS
More terms from John W. Layman, Dec 14 2004
11 more terms from Ryan Propper, Jul 19 2005
STATUS
approved