OFFSET
1,1
LINKS
J.W.L. (Jan) Eerland, Table of n, a(n) for n = 1..224
MAPLE
rev:= proc(n) local L, i;
L:= convert(n, base, 10);
add(L[-i]*10^(i-1), i=1..nops(L))
end proc:
tcat:= proc(a, b)
a*10^(1+ilog10(b))+b
end proc:
A:= 3: x:= 3:
for i from 1 to 50 do
p:= 2:
do
p:= nextprime(p);
y:= tcat(x, p);
if isprime(y) and isprime(rev(y)) then
A:= A, p;
x:= y;
break
fi;
od
od:
A; # Robert Israel, Dec 26 2024
MATHEMATICA
w = {3};
Do[k = 1;
q = Monitor[
Parallelize[
While[True,
If[PrimeQ[
FromDigits[
Join @@ IntegerDigits /@
Reverse[
IntegerDigits[
FromDigits[
Join @@ IntegerDigits /@ Append[w, Prime[k]]]]]]] &&
PrimeQ[FromDigits[
Join @@ IntegerDigits /@ Append[w, Prime[k]]]], Break[]]; k++];
Prime[k]], k];
w = Append[w, q], {i, 2, 50}];
w (* J.W.L. (Jan) Eerland, Dec 19 2024 *)
PROG
(Python)
from itertools import count, islice
from gmpy2 import digits, is_prime, mpz, next_prime
def agen(): # generator of terms
s, r, an = "", "", 3
while True:
yield int(an)
d = digits(an)
s, r, p, sp = s+d, d[::-1]+r, 3, "3"
while not is_prime(mpz(s+sp)) or not is_prime(mpz(sp[::-1]+r)):
p = next_prime(p)
sp = digits(p)
an = p
print(list(islice(agen(), 50))) # Michael S. Branicky, Jan 02 2025
CROSSREFS
KEYWORD
base,nonn
AUTHOR
Amarnath Murthy, Nov 06 2005
EXTENSIONS
Corrected and extended by Hans Havermann, Nov 08 2005
a(40)-a(50) from J.W.L. (Jan) Eerland, Dec 19 2024
STATUS
approved
