login
A024785
Left-truncatable primes: every suffix is prime and no digits are zero.
43
2, 3, 5, 7, 13, 17, 23, 37, 43, 47, 53, 67, 73, 83, 97, 113, 137, 167, 173, 197, 223, 283, 313, 317, 337, 347, 353, 367, 373, 383, 397, 443, 467, 523, 547, 613, 617, 643, 647, 653, 673, 683, 743, 773, 797, 823, 853, 883, 937, 947, 953, 967, 983, 997, 1223
OFFSET
1,1
COMMENTS
Last term is a(4260) = 357686312646216567629137 (Angell and Godwin). - Eric W. Weisstein, Dec 11 1999
Can be seen as table whose rows list n-digit terms, 1 <= n <= 25. Row lengths are A050987. - M. F. Hasler, Nov 07 2018
LINKS
N. J. A. Sloane, Table of n, a(n) for n = 1..4260 (The full list, based on the De Geest web site)
I. O. Angell and H. J. Godwin, On Truncatable Primes, Math. Comput. 31, 265-267, 1977.
James Grime and Brady Haran, 357686312646216567629137, Numberphile video (2018).
Ernest G. Hibbs, Component Interactions of the Prime Numbers, Ph. D. Thesis, Capitol Technology Univ. (2022), see p. 33.
Eric Weisstein's World of Mathematics, Truncatable Prime
MAPLE
a:=[[2], [3], [5], [7]]: l1:=1: l2:=4: for n from 1 to 3 do for k from 1 to 9 do for j from l1 to l2 do d:=[op(a[j]), k]: if(isprime(op(convert(d, base, 10, 10^nops(d)))))then a:=[op(a), d]: fi: od: od: l1:=l2+1: l2:=nops(a): if(l1>l2)then break: fi: od: seq(op(convert(a[j], base, 10, 10^nops(a[j]))), j=1..nops(a)); # Nathaniel Johnston, Jun 21 2011
# second Maple program:
T:= proc(n) option remember; `if`(n=0, "", sort(select(isprime,
map(x-> seq(parse(cat(j, x)), j=1..9), [T(n-1)])))[])
end:
seq(T(n), n=1..4); # Alois P. Heinz, Sep 01 2021
MATHEMATICA
max = 2000; truncate[p_] := If[id = IntegerDigits[p]; FreeQ[id, 0] && (Last[id] == 3 || Last[id] == 7) && PrimeQ[q = FromDigits[ Rest[id]]], q, p]; ok[n_] := FixedPoint[ truncate, n] < 10; p = 5; A024785 = {2, 3, 5}; While[(p = NextPrime[p]) < max, If[ok[p], AppendTo[A024785, p]]]; A024785 (* Jean-François Alcover, Nov 09 2011 *)
d[n_]:=IntegerDigits[n]; ltrQ[n_]:=And@@PrimeQ[NestList[FromDigits[Drop[d[#], 1]]&, n, Length[d[n]]-1]]; Select[Range[1225], ltrQ[#]&] (* Jayanta Basu, May 29 2013 *)
FullList=Sort[Flatten[Table[FixedPointList[Select[Flatten[Table[Range[9]*10^Length@IntegerDigits[#[[1]]] + #[[i]], {i, Length[#]}]], PrimeQ] &, {i}], {i, {2, 3, 5, 7}}]]] (* Fabrice Laussy, Nov 10 2019 *)
PROG
(PARI) v=vector(4260); v[1]=2; v[2]=3; v[3]=5; v[4]=7; i=0; j=4; until(i>=j, i++; p=v[i]; P10=10^(1+log(p)\log(10)); for(k=1, 9, z=k*P10+p; if(isprime(z), j++; v[j]=z; ))); s=vector(4260); s=vecsort(v); for(i=1, j, write("b024785.txt", i, " ", s[i]); ); \\
(PARI) is_A024785(n, t=1)={until(t>10*p, isprime(p=n%t*=10)||return); n==p} \\ M. F. Hasler, Apr 17 2014
(PARI) A024785=vector(25, n, p=vecsort(concat(apply(p->select(isprime, vector(9, i, i*10^(n-1)+p)), if(n>1, p))))); \\ Yields the list of rows (n-digit terms, n = 1..25). Use concat(%) to flatten. There are faster variants using matrices (vectorv(9, i, 1)*p+[1..9]~*10^(n-1)*vector(#p, i, 1)) and/or predefined vectors, but they are less concise and this takes less than 0.1 sec. - M. F. Hasler, Nov 07 2018
(Haskell)
import Data.List (tails)
a024785 n = a024785_list !! (n-1)
a024785_list = filter (\x ->
all (== 1) $ map (a010051 . read) $ init $ tails $ show x) a038618_list
-- Reinhard Zumkeller, Nov 01 2011
(Python)
from sympy import isprime
def alst():
primes, alst = [2, 3, 5, 7], []
while len(primes) > 0:
alst += sorted(primes)
candidates = set(int(d+str(p)) for p in primes for d in "123456789")
primes = [c for c in candidates if isprime(c)]
return alst
print(alst()) # Michael S. Branicky, Apr 11 2021
CROSSREFS
Supersequence of A240768.
Cf. A033664, A032437, A020994, A024770 (right-truncatable primes), A052023, A052024, A052025, A050986, A050987, A077390 (left-and-right truncatable primes), A137812 (left-or-right truncatable primes), A254753.
Sequence in context: A042993 A308711 A033664 * A069866 A125772 A233282
KEYWORD
nonn,base,easy,fini,full,tabf
STATUS
approved