login
Emirps p such that (p*q) mod (p+q) is also an emirp, where q is the digit reversal of p.
2

%I #36 Sep 18 2022 11:06:05

%S 389,709,907,983,1669,3163,3613,7349,9349,9437,9439,9661,11071,11959,

%T 12841,13513,13751,13757,13873,14549,14593,14713,14821,14923,15013,

%U 15731,15919,16573,16937,17011,17681,18133,18671,30197,31051,31531,31741,32579,32783,32941,33181,33287,35129,36217,37561

%N Emirps p such that (p*q) mod (p+q) is also an emirp, where q is the digit reversal of p.

%C If p is a term, so is A004086(p).

%H Robert Israel, <a href="/A355651/b355651.txt">Table of n, a(n) for n = 1..10000</a>

%e a(3) = 907 is a term because 907 and its digit reversal 709 are distinct primes, and (907*709) mod (907 + 709) = 1511 and its digit reversal 1151 are distinct primes.

%p rev:= proc(n) local L,i;

%p L:= convert(n,base,10);

%p add(L[-i]*10^(i-1),i=1..nops(L))

%p end proc:

%p filter:= proc(p) local q,r,s;

%p if not isprime(p) then return false fi;

%p q:= rev(p);

%p if q=p or not isprime(q) then return false fi;

%p r:= (p*q) mod (p+q);

%p if not isprime(r) then return false fi;

%p s:= rev(r);

%p s <> r and isprime(s)

%p end proc:

%p select(filter, [seq(i,i=13..10^5,2)]);

%t emirpQ[p_] := (r = IntegerReverse[p]) != p && PrimeQ[p] && PrimeQ[r]; Select[Range[40000], emirpQ[#] && emirpQ[Mod[#*(r = IntegerReverse[#]), # + r]] &] (* _Amiram Eldar_, Sep 04 2022 *)

%o (Python)

%o from sympy import isprime

%o def emirp(n):

%o revn = int(str(n)[::-1])

%o return n != revn and isprime(n) and isprime(revn)

%o def ok(n):

%o if not emirp(n): return False

%o q = int(str(n)[::-1])

%o return emirp((n*q)%(n+q))

%o print([k for k in range(10**5) if ok(k)]) # _Michael S. Branicky_, Sep 04 2022

%Y Cf. A004086, A006567, A356740.

%K nonn,base,less

%O 1,1

%A _J. M. Bergot_ and _Robert Israel_, Sep 04 2022