|
|
A283247
|
|
a(n) is the smallest prime number whose representation contains as a substring the first n digits of Pi in base 10.
|
|
1
|
|
|
3, 31, 13147, 73141, 314159, 314159, 131415923, 1314159269, 23141592653, 23141592653, 314159265359, 3141592653581, 213141592653589, 1131415926535897, 9314159265358979, 173141592653589793, 3141592653589793239, 3141592653589793239, 314159265358979323861
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
COMMENTS
|
Pi progresses as 3, 31, 314, 3141, hence minimal prime numbers that do this are 3, 31, 13147, 73141. While there are other primes that contain, say, 314, the prime number, 13147 is the first prime to do so.
It is probably provable that this is an infinite sequence. Notice that 314159 appears twice in the sequence since 314159 is the smallest prime that contains 31415 as well as 314159.
a(n) exists for all n since for sufficiently large k, the k-th prime gap < prime(k)^d for some d < 1, so for a fixed number a, the next prime after a*10^m will be less than (a+1)*10^m for sufficiently large m and thus contain a as a substring. - Chai Wah Wu, Feb 22 2018
|
|
LINKS
|
|
|
EXAMPLE
|
a(4) = 73141 since 73141 is the smallest prime number that contains 3141 (the first 4 digits of Pi).
a(5) = 314159 since 314159 is the smallest prime number that contains 31415.
a(6) = 314159 since 314159 is the smallest prime number that contains 314159.
|
|
MATHEMATICA
|
pp[n_] := If[PrimeQ@n, n, Block[{d = IntegerDigits@n, p, s, t}, p = 10^Length[d]; s = Select[Join[Range[9] p + n, {1, 3, 7, 9} + 10 n], PrimeQ]; If[s != {}, Min@s, s = NextPrime[100 n]; t = Join[If[Floor[s/100] == n, {s}, {}], Range[10, 99] p + n, FromDigits /@ Flatten /@ Tuples[{Range@9, {d}, {1, 3, 7, 9}}]]; s = Select[t, PrimeQ]; If[s == {}, 0, Min@s]]]]; Table[pp[Floor[10^e Pi]], {e, 0, 18}] (* Giovanni Resta, Jul 21 2017 *)
|
|
PROG
|
(Python 3.6.x)
pi_digits = pi_digit_generator #user-defined generator for producing next digit of Pi
next_digit = pi_digits.next() #first call, so next_digit = 3
primes = prime_generator #user-defined generator for producing next prime
current_prime = primes.next() #first call, so current_prime = 2
pi_progress = 0
while True:
pi_progress = pi_progress*10 + next_digit
while str(pi_progress) not in str(current_prime):
current_prime = primes.next()
print(pi_progress, current_prime)
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|