A096245 Number of n-digit base-12 deletable primes.
5, 25, 186, 1398, 11500, 99074, 893062, 8352961, 80564801
Offset: 1
Programs
-
Mathematica
b = 12; a = {5}; d = {2, 3, 5, 7, 11}; 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]]; a (* Robert Price, Nov 13 2018 *)
-
Python
from sympy import isprime from sympy.ntheory.digits import digits def strmap(d): return str(d) if d < 10 else "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[d-10] def ok(n, prevset, base=12): # works for bases 2-36 if not isprime(n): return False s = "".join(strmap(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, base=12): # works for bases 3-36 s = set([p for p in range(1, base) if isprime(p)]) alst, snxt = [len(s)], set() 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(6) # Michael S. Branicky, Jan 17 2022
Extensions
a(6)-a(8) from Ryan Propper, Jul 19 2005
Edited by Charles R Greathouse IV, Aug 03 2010
a(9) from Michael S. Branicky, Jan 17 2022
Comments