I1M2012: Potencias con el último dígito invariante
En la segunda parte de la clase de hoy de Informática de 1º del Grado en Matemáticas hemos comentado la solución con Haskell de siguiente problema
Calcular el menor número natural n, mayor que 1, tal que para cualquier número entero x se verifique que x y xⁿ terminan en el mismo dígito.
La especificación matemática del enunciado es
min {n∈ℕ | n>1 ∧ ∀x∈ℤ (U(xⁿ) = U(x))}
donde U(x) es el último dígito de x. La especificación se puede reducir a
min {n∈ℕ | n>1 ∧ ∀x∈{0,…,9} (U(xⁿ) = U(x))}
Su traducción a Haskell es
donde (ultimo x) es el último dígito de x
La solución del problema se calcula con
Se puede generalizar solP3 a una función solP3′ que calcula todos los números naturales n, mayores que 1, tales que para cualquier número entero x se verifique que x y xⁿ terminan en el mismo dígito. Para ello, basta eliminar head en la definición de solP3
El cálculo de los 20 primeros es
Se observa que forman una progresión aritmética de diferencia 4. Basándonos en esta observación se puede redefinir solP3′ como sigue
Se puede comprobar experimentalmente la conjetura definiendo la función comprobacion tal que (comprobacion n) se verifica si los n primeros elementos de solP3′ son los mismos que los de solP3”.
La comprobación para los 1000 primeros elementos es
Queda pendiente la demostración de la conjetura.