%I #15 Jan 17 2022 09:44:07
%S 3,7,32,135,597,2787,13374,66071,335895,1743974,9216391,49420750,
%T 268312356
%N Number of n-digit base-6 deletable primes.
%C 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.
%C 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.
%t b = 6; a = {3}; d = {2, 3, 5};
%t For[n = 2, n <= 5, n++,
%t p = Select[Range[b^(n - 1), b^n - 1], PrimeQ[#] &];
%t ct = 0;
%t For[i = 1, i <= Length[p], i++,
%t c = IntegerDigits[p[[i]], b];
%t For[j = 1, j <= n, j++,
%t t = Delete[c, j];
%t If[t[[1]] == 0, Continue[]];
%t If[MemberQ[d, FromDigits[t, b]], AppendTo[d, p[[i]]]; ct++;
%t Break[]]]];
%t AppendTo[a, ct]];
%t a (* _Robert Price_, Nov 12 2018 *)
%o (Python)
%o from sympy import isprime
%o from sympy.ntheory.digits import digits
%o def ok(n, prevset, base=6):
%o if not isprime(n): return False
%o s = "".join(str(d) for d in digits(n, base)[1:])
%o si = (s[:i]+s[i+1:] for i in range(len(s)))
%o return any(t[0] != '0' and int(t, base) in prevset for t in si)
%o def afind(terms):
%o alst = [3]
%o s, snxt, base = {2, 3, 5}, set(), 6
%o print(len(s), end=", ")
%o for n in range(2, terms+1):
%o for i in range(base**(n-1), base**n):
%o if ok(i, s):
%o snxt.add(i)
%o s, snxt = snxt, set()
%o print(len(s), end=", ")
%o afind(8) # _Michael S. Branicky_, Jan 17 2022
%Y Cf. A080608, A080603, A096235-A096246.
%K nonn,base,more
%O 1,1
%A _Michael Kleber_, Feb 28 2003
%E a(6)-a(11) from _Ryan Propper_, Jul 19 2005
%E a(12)-a(13) from _Michael S. Branicky_, Jan 17 2022
|