|
|
A350443
|
|
Rigidly-deletable primes: primes such that removing some digit, one at a time in unique order gives a prime at each step, until the empty string is reached.
|
|
0
|
|
|
2, 3, 5, 7, 13, 17, 29, 31, 43, 47, 59, 67, 71, 79, 83, 97, 127, 157, 163, 269, 271, 359, 383, 439, 457, 463, 487, 509, 547, 569, 571, 643, 659, 683, 701, 709, 751, 769, 863, 929, 983, 1217, 1427, 1487, 2069, 2371, 2609, 2671, 2689, 2713, 2731, 2791, 2969, 3259
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
COMMENTS
|
Rigidly-deletable primes are deletable primes where the choice of digit to delete is unique (all other choices give nonprime numbers).
Leading zeros are allowed in the number that appears after the digit is deleted.
|
|
LINKS
|
|
|
EXAMPLE
|
The prime 103 is not a member since removing a digit will either give 03 which has a leading zero (3 is a prime number), or give one of the numbers 13 which is prime, or 10 which is composite.
The prime 509 is a member since removing a digit will either give 09 which has a leading zero (9 is a composite number), or give one of the numbers 59 which is prime, or 50 which is composite. Then removing a digit from 59 will either give 9, or 5 which is prime.
|
|
PROG
|
(PARI) for(k=2, 3259, if(isprime(k), a=k; r=#digits(a); q=r; for(y=1, r, L=List([]); for(d=1, q, T=List(Vec(Str(a))); listpop(T, d); listput(L, concat(T))); t=0; for(b=1, q, w=L[b]; if(isprime(eval(w)), t++; u=w); if(t==2, break)); if(t==1, q=#Vec(u); a=u, break); if(y==r, print1(k, ", ")))));
(Python)
from sympy import isprime
def ok(n):
if not isprime(n): return False
if n < 10: return True
s, c, d = str(n), 0, None
for i in range(len(s)):
di = int(s[:i]+s[i+1:])
if isprime(di):
c += 1
if c > 1:
return False
d = di
return ok(d) and len(str(d)) == len(s) - 1
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|