¿Por qué es tan interesante el número 6174? Según lo definido por Wikipedia
- Tome cualquier número de cuatro dígitos, usando al menos dos dígitos diferentes. (Se permiten ceros a la izquierda).
- Organice los dígitos en orden ascendente y luego en orden descendente para obtener dos números de cuatro dígitos, agregando ceros a la izquierda si es necesario.
- Resta el número más pequeño del número más grande.
- Regrese al paso 2.
El proceso anterior, conocido como la rutina de Kaprekar, siempre alcanzará 6174 en un máximo de 7 iteraciones. Una vez que se alcanza 6174, el proceso continuará produciéndolo.
Escriba un programa que ejecute la rutina de Kaprekar contra un número de cuatro dígitos dado (vea la definición anterior) imprimiendo cada paso de la rutina.
Reglas:
- Las presentaciones deben ser programas completos.
- La entrada debe leerse de la entrada estándar. La tubería del eco está bien.
- La entrada debe estar en forma numérica.
- Se requiere imprimir ceros a la izquierda. (Ver ejemplos a continuación).
- La última línea debería decir cuántas iteraciones fueron necesarias. Se requiere puntuación.
Ejemplos:
> 2607
7620 - 0267 = 7353
7533 - 3357 = 4176
7641 - 1467 = 6174
Iterations: 3.
> 1211
2111 - 1112 = 0999
9990 - 0999 = 8991
9981 - 1899 = 8082
8820 - 0288 = 8532
8532 - 2358 = 6174
Iterations: 5.
> 6174
7641 - 1467 = 6174
Iterations: 1.
Cualquier lenguaje de programación es bienvenido. Puntos extra para los esotéricos + una pequeña recompensa.
Actualización 1 : ya hay una pregunta similar .
Actualización 2 : ejemplo agregado para 6174 como entrada. Gracias a Peter Taylor por el aviso.