Considérez le nombre 99999999. Ce nombre est évidemment un palindrome. Le plus grand facteur premier de 99999999 est 137. Si vous divisez 99999999 par 137, vous obtenez 729927. Ce nombre est également un palindrome.
Le plus grand facteur premier de 729927 est 101. 729927/101 = 7227 qui est à nouveau un palindrome.
Le plus grand facteur premier de 7227 est 73. 7227/73 = 99 qui est encore un palindrome.
En divisant davantage par le plus grand facteur premier, vous obtenez 9, 3 et enfin 1, qui, étant des nombres à un chiffre, sont également des palindromes. Puisque 1 n'a pas de facteurs premiers, la procédure se termine ici.
En généralisant maintenant cette observation, je définis un super-palindrome comme un palindrome qui est soit 1, soit qui donne un autre super-palindrome s'il est divisé par son plus grand facteur premier.
Crédits: /math/200835/are-there-infinitely-many-super-palindromes
Étant donné un nombre N , déterminez s'il s'agit d'un super palindrome ou non et imprimez une valeur véridique ou falsey en conséquence.
Votre programme doit imprimer une valeur véridique pour ces entrées:
1
101
121
282
313
353
373
393
474
737
919
959
1331
1441
2882
6446
7887
8668
9559
9779
Votre programme doit imprimer une valeur de falsey pour ces entrées:
323
432
555
583
585
646
642
696
777
969
989
2112
3553
4554
5242
5225
5445
8080
8118
9988
N'oubliez pas qu'il s'agit de code-golf , donc le code avec le plus petit nombre d'octets l'emporte.
N
sera- t-elle toujours un palindrome au départ?