Considere o número 99999999. Esse número é obviamente um palíndromo. O maior fator primo de 99999999 é 137. Se você dividir 99999999 por 137, obtém 729927. Esse número também é um palíndromo.
O maior fator primordial de 729927 é 101. 729927/101 = 7227, que novamente é um palíndromo.
O maior fator primo de 7227 é 73. 7227/73 = 99, que novamente é um palíndromo.
Ao dividir ainda mais pelo maior fator primo, você obtém 9, 3 e finalmente 1, que, sendo números de um dígito, também são palíndromos. Como 1 não possui fatores primos, o procedimento termina aqui.
Agora generalizando essa observação, defino um super-palíndromo como um palíndromo que é 1 ou que dá outro super-palíndromo se dividido pelo seu maior fator primo.
Créditos: /math/200835/are-there-infinitely-many-super-palindromes
Dado um número N , determine se é um super palíndromo ou não e imprima um valor de verdade ou falsey de acordo.
Seu programa deve imprimir um valor verdadeiro para estas entradas:
1
101
121
282
313
353
373
393
474
737
919
959
1331
1441
2882
6446
7887
8668
9559
9779
Seu programa deve imprimir um 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
Lembre-se, isso é código-golfe , portanto o código com a menor quantidade de bytes vence.
N
sempre será um palíndromo para começar?