A364050 Palindromes that have at least two distinct prime factors and whose prime factors, listed (with multiplicity) in ascending order and concatenated, form a palindrome in base 10.
10001, 36763, 1037301, 1226221, 9396939, 12467976421, 14432823441, 93969696939, 119092290911, 1030507050301, 1120237320211, 1225559555221, 1234469644321, 1334459544331, 100330272033001, 101222252222101, 103023070320301, 121363494363121, 134312696213431
Offset: 1
Examples
10001 = 73 * 137 36763 = 97 * 379 1037301 = 3 * 29 * 11923 1226221 = 1021 * 1201 9396939 = 3 * 101 * 31013
Programs
-
Mathematica
(* generate palindromes with even n *) poli[n_Integer?EvenQ]:=FromDigits[Join[#,Reverse[#]]]&/@ DeleteCases[Tuples[Range[0,9],n/2],{0..,_}] (* generate palindromes with odd n *) poli[n_Integer?OddQ]:=Flatten[Table[FromDigits[Join[#,{k},Reverse[#]]]&/@ DeleteCases[Tuples[Range[0,9],(n-1)/2],{0..,_}],{k,0,9}]] (* find ascending factor sequence *) ascendFACTOR[n_Integer]:= PalindromeQ[StringJoin[ToString/@Flatten[Table[#1,#2]&@@@#]]]&& Length[#]>1&@FactorInteger[n] (* example for palindromes of size 7 *) Parallelize@Select[poli[7],ascendFACTOR]//Sort//AbsoluteTiming
-
PARI
nextpal(n, b) = {my(m=n+1, p = 0); while (m > 0, m = m\b; p++; ); if (n+1 == b^p, p++); n = n\(b^(p\2))+1; m = n; n = n\(b^(p%2)); while (n > 0, m = m*b + n%b; n = n\b; ); m; } ispal(n) = my(d=digits(n)); Vecrev(d) == d; g(f) = my(s=""); for (i=1, #f~, for (j=1, f[i,2], s = concat(s, Str(f[i,1])))); eval(s); isok(k) = my(f=factor(k)); if (#f~>=2, ispal(g(f))); lista(nn) = {my(k=0); while (k <= nn, if (ispal(k) && isok(k), print1(k, ", ")); k = nextpal(k,10););} \\ Michel Marcus, Jul 11 2023
Comments