%I #19 Jun 22 2021 12:21:35
%S 6,22,33,55,77,111,141,161,202,262,303,323,393,454,505,515,535,545,
%T 565,626,707,717,737,767,818,838,878,898,939,949,959,979,989,1111,
%U 1441,1661,1991,3113,3223,3443,3883,7117,7447,7997,9119,9229,9449,10001
%N Palindromes with exactly 2 distinct prime factors.
%H Robert Israel, <a href="/A046392/b046392.txt">Table of n, a(n) for n = 1..10000</a>
%p revdigs:= 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 f:= proc(n) local F;
%p F:= ifactors(n)[2];
%p if nops(F) = 2 and F[1,2]=1 and F[2,2]=1 then n fi
%p end proc:
%p N:=5: # for terms of up to N digits.
%p Res:= 6:
%p for d from 2 to N do
%p if d::even then
%p m:= d/2;
%p Res:= Res, seq(f(n*10^m + revdigs(n)), n=10^(m-1)..10^m-1);
%p else
%p m:= (d-1)/2;
%p Res:= Res, seq(seq(f(n*10^(m+1)+y*10^m+revdigs(n)), y=0..9), n=10^(m-1)..10^m-1);
%p fi
%p od:
%p Res; # _Robert Israel_, Mar 24 2020
%t pdpfQ[n_]:=Module[{idn=IntegerDigits[n]},idn==Reverse[idn] && PrimeNu[n] == PrimeOmega[n] == 2]; Select[Range[11000],pdpfQ] (* _Harvey P. Dale_, Dec 16 2012 *)
%o (Python)
%o from sympy import factorint
%o from itertools import product
%o def pals(d, base=10): # all d-digit palindromes
%o digits = "".join(str(i) for i in range(base))
%o for p in product(digits, repeat=d//2):
%o if d > 1 and p[0] == "0": continue
%o left = "".join(p); right = left[::-1]
%o for mid in [[""], digits][d%2]: yield int(left + mid + right)
%o def ok(pal): f = factorint(pal); return len(f) == 2 and sum(f.values()) == 2
%o print(list(filter(ok, (p for d in range(1, 5) for p in pals(d) if ok(p))))) # _Michael S. Branicky_, Jun 22 2021
%Y Cf. A046328, A046408.
%Y Intersection of A002113 and A006881.
%K nonn,base
%O 1,1
%A _Patrick De Geest_, Jun 15 1998
|