|
|
A347424
|
|
Digitally delicate truncatable primes: every suffix is prime, changing any one decimal digit always produces a composite number, except the first to zero.
|
|
1
|
|
|
7810223, 19579907, 909001523, 984960937, 78406036607, 90124536947, 99020400307, 190002706337, 393086079907, 500708906197, 509000702017, 600180367883, 780430098443, 3534900290107, 5046024021013, 6006006800743, 6009000432797, 9001924501223, 12090900340283
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
COMMENTS
|
These prime numbers are both:
- digitally delicate primes (also called weakly prime numbers) A158124: changing any one decimal digit always produces a composite number, with restriction that first digit may not be changed to a 0 (that means no change of the number of significant digits from its original value).
- left-truncatable primes A033664: every suffix is prime, means repeatedly deleting the most significant digit gives a prime at every step until a single-digit prime remains.
|
|
LINKS
|
|
|
PROG
|
(Python)
from sympy import isprime, primerange
def is_digitally_delicate(p):
s = str(p)
for i in range(len(s)):
for d in "0123456789":
if d != s[i] and not (i == int(d) == 0):
if isprime(int(s[:i] + d + s[i+1:])): return False
return True
def A033664gen(maxdigits):
yield from [2, 3, 5, 7]
primestrs, digits, d = ["2", "3", "5", "7"], "0123456789", 1
while len(primestrs) > 0 and d < maxdigits:
cands = (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
def afind(maxdigits):
for p in A033664gen(maxdigits):
if is_digitally_delicate(p): print(p, end=", ")
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|