%I #23 Jun 23 2022 15:42:04
%S 3,13,113,2113,12113,612113,50612113,1050612113,6001050612113,
%T 26001050612113,1026001050612113,6000001026001050612113,
%U 500006000001026001050612113,600500006000001026001050612113,1600500006000001026001050612113,6001600500006000001026001050612113
%N a(1) = 3; thereafter a(n) = the smallest prime of the form d0...0a(n-1), where d is a single digit, or 0 if no such prime exists.
%C a(n) is the smallest prime obtained by prefixing a(n-1) with a number of the form d*10^k where d is a single digit, 0 < d < 10, and k >= 0. Conjecture: d*10^k always exists.
%H Michael S. Branicky, <a href="/A077713/b077713.txt">Table of n, a(n) for n = 1..44</a>
%e a(7) = 50612113: deleting 5 gives 612113 = a(6).
%p a:= proc(n) option remember; local k, m, d, p;
%p if n=1 then 3 else k:= a(n-1);
%p for m from length(k) do
%p for d to 9 do p:= k +d*10^m;
%p if isprime(p) then return p fi
%p od od
%p fi
%p end:
%p seq(a(n), n=1..20); # _Alois P. Heinz_, Jan 12 2015
%o (Python)
%o from sympy import isprime
%o from itertools import islice
%o def agen(an=3):
%o while True:
%o yield an
%o pow10 = 10**len(str(an))
%o while True:
%o found = False
%o for t in range(pow10+an, 10*pow10+an, pow10):
%o if isprime(t):
%o an = t; found = True; break
%o if found: break
%o pow10 *= 10
%o print(list(islice(agen(), 16))) # _Michael S. Branicky_, Jun 23 2022
%Y Cf. A053583, A077714, A077715, A077716.
%K base,nonn
%O 1,1
%A _Amarnath Murthy_, Nov 19 2002
%E More terms from _Ray Chandler_, Jul 23 2003
%E Changed offset to 1 by _Alois P. Heinz_, Jan 12 2015
%E Definition clarified by _N. J. A. Sloane_, Jan 19 2015