El misterioso número 6174

El número 6174 es realmente misterioso. A primera vista, quizá no parezca tan evidente. Pero, como estamos a punto de ver, cualquiera que sepa restar puede descubrir el misterio que hace que 6174 sea tan especial.

En 1949, el matemático D. R. Kaprekar ideó un proceso que ahora se conoce como la operación de Kaprekar. Primero, elige un número de cuatro dígitos cuyos dígitos no sean todos iguales (es decir, que no sea 1111, 2222, etc.). Luego, reordena los dígitos para obtener los números mayor y menor que se pueden formar con ellos. Por último, resta el número menor al mayor para obtener un número nuevo y continúa repitiendo la operación con cada número nuevo.

Es una operación sencilla, pero Kaprekar descubrió que conducía a un resultado sorprendente: cuando llegamos a 6174, la operación se repite, devolviendo 6174 cada vez. De hecho, se llega a 6174 con todos los números de cuatro dígitos que no tienen todos sus dígitos iguales. Es maravilloso. La operación de Kaprekar es tan sencilla, pero revela un resultado muy interesante.

Objetivo

Crea una función que reciba como argumento un número de cuatro dígitos y devuelva el número de iteraciones necesarias para llegar al número 6174, con cada iteración incluida en el valor devuelto. Si el número es un repdigit, la función debe devolver un mensaje al usuario.

Importante

  • Si en alguna iteración obtienes un número de 1, 2 o 3 dígitos, añade ceros a la izquierda para los cálculos y la salida devuelta. Consulta el ejemplo de abajo, donde n = 1.
  • Basándote en el punto mencionado anteriormente, puedes esperar, por ejemplo, que los números 1 y 1000 den lugar a las mismas iteraciones.

Ejemplos

Kaprekar(1234) ➞
"---------- The Mysterious Number 6174 ----------

Number of iterations: 3

Iterations:

Iteration Nr. 1: 4321 - 1234 = 3087
Iteration Nr. 2: 8730 - 0378 = 8352
Iteration Nr. 3: 8532 - 2358 = 6174

------------------------------------------------"


Kaprekar(2005) ➞
"---------- The Mysterious Number 6174 ----------

Number of iterations: 7

Iterations:

Iteration Nr. 1: 5200 - 0025 = 5175
Iteration Nr. 2: 7551 - 1557 = 5994
Iteration Nr. 3: 9954 - 4599 = 5355
Iteration Nr. 4: 5553 - 3555 = 1998
Iteration Nr. 5: 9981 - 1899 = 8082
Iteration Nr. 6: 8820 - 0288 = 8532
Iteration Nr. 7: 8532 - 2358 = 6174

------------------------------------------------"


Kaprekar(8888) ➞
"---------- The Mysterious Number 6174 ----------

Error, n cannot be a repdigit.

------------------------------------------------"


Kaprekar(1) ➞
"---------- The Mysterious Number 6174 ----------

Number of iterations: 5

Iterations:

Iteration Nr. 1: 1000 - 0001 = 0999
Iteration Nr. 2: 9990 - 0999 = 8991
Iteration Nr. 3: 9981 - 1899 = 8082
Iteration Nr. 4: 8820 - 0288 = 8532
Iteration Nr. 5: 8532 - 2358 = 6174

------------------------------------------------"

Notas

N/A