|
|
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
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
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
|
|
|
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:
|
|
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
(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
|
|
CROSSREFS
|
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.
|
|
KEYWORD
|
nonn,base,easy,fini,full,tabf
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|