OFFSET
1,1
LINKS
Robert Israel, Table of n, a(n) for n = 1..10000
EXAMPLE
a(3) = 647 is a term because 647 is prime, its reverse 746 = 2*373 is a semiprime, 647+746 = 1393 = 7*199 is a semiprime, and the reverse 3931 of 1393 is a prime.
MAPLE
filter:= proc(p) local q, r, s;
if not isprime(p) then return false fi;
q:= digrev(p);
if numtheory:-bigomega(q) <> 2 then return false fi;
r:= p+q;
s:= digrev(r);
{numtheory:-bigomega(r), numtheory:-bigomega(s)} = {1, 2}
end proc:
digrev:= proc(n) local L, i;
L:= convert(n, base, 10);
add(L[-i]*10^(i-1), i=1..nops(L))
end proc:
select(filter, [seq(i, i=3..10^5, 2)]);
MATHEMATICA
semiQ[n_] := PrimeOmega[n] == 2; q1[p_] := PrimeQ[p] && semiQ[IntegerReverse[p]]; q2[p_] := semiQ[p] && PrimeQ[IntegerReverse[p]]; q[p_] := q1[p] && (q1[(s = p + IntegerReverse[p])] || q2[s]); Select[Range[30000], q] (* Amiram Eldar, Jan 16 2022 *)
PROG
(Python)
from sympy import isprime, factorint
def issemip(n): return sum(factorint(n).values()) == 2
def ok(p):
if not isprime(p): return False
q = int(str(p)[::-1])
if not issemip(q): return False
r = int(str(p+q)[::-1])
return (isprime(p+q) and issemip(r)) or (isprime(r) and issemip(p+q))
print([k for k in range(30000) if ok(k)]) # Michael S. Branicky, Jan 15 2022
CROSSREFS
KEYWORD
nonn,base
AUTHOR
J. M. Bergot and Robert Israel, Jan 15 2022
STATUS
approved