Considere el número 99999999. Ese número es obviamente un palíndromo. El factor primo más grande de 99999999 es 137. Si divide 99999999 entre 137, obtiene 729927. Este número también es un palíndromo.
El factor primo más grande de 729927 es 101. 729927/101 = 7227 que nuevamente es un palíndromo.
El factor primo más grande de 7227 es 73. 7227/73 = 99, que nuevamente es un palíndromo.
Al dividir aún más por el factor primo más grande, obtienes 9, 3 y finalmente 1, que, al ser números de un dígito, también son palíndromos. Como 1 no tiene factores primos, el procedimiento termina aquí.
Ahora, generalizando esta observación, defino un súper palíndromo como un palíndromo que es 1 o que da otro súper palíndromo si se divide por su factor primo más grande.
Créditos: /math/200835/are-there-infinitely-many-super-palindromes
Dado un número N , determine si es un súper palíndromo o no, e imprima un valor verdadero o falso en consecuencia.
Su programa debe imprimir un valor verdadero para estas entradas:
1
101
121
282
313
353
373
393
474
737
919
959
1331
1441
2882
6446
7887
8668
9559
9779
Su programa debe imprimir un valor falsey para estas entradas:
323
432
555
583
585
646
642
696
777
969
989
2112
3553
4554
5242
5225
5445
8080
8118
9988
Recuerde, este es el código de golf , por lo que gana el código con la menor cantidad de bytes.
N
siempre será un palíndromo para empezar?