Un palíndromo es un número que es igual al invertirse; por ejemplo, 2770772. Un palíndromo a menudo puede formarse sumando un número con su inverso: 641 + 146 = 787 (un palíndromo). Usando 78 como semilla, se necesitan 4 pasos para producir un palíndromo:
78 + 87 = 165
165 + 561 = 726
726 + 627 = 1353
1353 + 3531 = 4884 (a palindrome)Aproximadamente el 97% de los enteros menores que 10,000 producen palíndromos en menos de 25 pasos. Algunos, como 196 y 879, quizá nunca formen palíndromos.
Crea una función que reciba un palíndromo como argumento y devuelva el entero semilla más pequeño que produzca ese palíndromo, junto con la cantidad de pasos necesarios:
PalSeq(palindrome) = (seed, steps)PalSeq(4884) ➞ (69, 4)
PalSeq(1) ➞ (1, 0)
PalSeq(11) ➞ (10, 1)
# 10 + 01 = 11
PalSeq(3113) ➞ (199, 3)
PalSeq(8836886388) ➞ (177, 15)La secuencia siempre termina cuando se produce el primer palíndromo. Si la semilla es un palíndromo, la secuencia tiene 0 pasos.