login
A033664
Every suffix is prime.
21
2, 3, 5, 7, 13, 17, 23, 37, 43, 47, 53, 67, 73, 83, 97, 103, 107, 113, 137, 167, 173, 197, 223, 283, 307, 313, 317, 337, 347, 353, 367, 373, 383, 397, 443, 467, 503, 523, 547, 607, 613, 617, 643, 647, 653, 673, 683, 743, 773, 797, 823, 853, 883, 907, 937, 947
OFFSET
1,1
COMMENTS
Primes in which repeatedly deleting the most significant digit gives a prime at every step until a single-digit prime remains.
Every digit string containing the least significant digit is prime. - Amarnath Murthy, Sep 24 2003
LINKS
Alois P. Heinz, Table of n, a(n) for n = 1..66973 (first 8779 terms from T. D. Noe)
Eric Weisstein's World of Mathematics, Truncatable Prime.
MAPLE
T:= proc(n) option remember; `if`(n=0, "", select(isprime, [seq(seq(
seq(parse(cat(j, 0$(n-i), p)), p=[T(i-1)]), i=1..n), j=1..9)])[])
end:
seq(T(n), n=1..4); # Alois P. Heinz, Sep 01 2021
MATHEMATICA
h8pQ[n_]:=And@@PrimeQ/@Most[NestWhileList[FromDigits[Rest[ IntegerDigits[ #]]]&, n, #>0&]]; Select[Prime[Range[1000]], h8pQ] (* Harvey P. Dale, May 26 2011 *)
PROG
(PARI) fileO="b033664.txt"; lim=8779; v=vector(lim); v[1]=2; v[2]=3; v[3]=5; v[4]=7; j=4; write(fileO, "1 2"); write(fileO, "2 3"); write(fileO, "3 5"); write(fileO, "4 7"); p10=1; until(0, p10*=10; j0=j; for(k=1, 9, k10=k*p10; for(i=1, j0, if(j==lim, break(3)); z=k10+v[i]; if(isprime(z), j++; v[j]=z; write(fileO, j, " ", z); )))) \\ Harry J. Smith, Sep 20 2008
(Haskell)
a033664 n = a033664_list !! (n-1)
a033664_list = filter (all ((== 1) . a010051. read) .
init . tail . tails . show) a000040_list
-- Reinhard Zumkeller, Jul 10 2013
(Python)
from sympy import isprime, primerange
def ok(p): # does prime p satisfy the property
s = str(p)
return all(isprime(int(s[i:])) for i in range(1, len(s)))
print(list(filter(ok, primerange(1, 1000)))) # Michael S. Branicky, Sep 01 2021
(Python) # alternate for going to large numbers
def agen(maxdigits):
yield from [2, 3, 5, 7]
primestrs, digits, d = ["2", "3", "5", "7"], "0123456789", 1
while len(primestrs) > 0 and d < maxdigits:
cands = set(d+p for p in primestrs for d in "0123456789")
primestrs = [c for c in cands if c[0] == "0" or isprime(int(c))]
yield from sorted(map(int, (p for p in primestrs if p[0] != "0")))
d += 1
print([p for p in agen(11)]) # Michael S. Branicky, Sep 01 2021
KEYWORD
nonn,base,easy,nice
EXTENSIONS
More terms from Erich Friedman
STATUS
approved