O misterioso número 6174

O número 6174 é realmente misterioso. À primeira vista, talvez isso não pareça tão evidente. Mas, como veremos a seguir, qualquer pessoa que saiba subtrair pode descobrir o mistério que torna 6174 tão especial.

Em 1949, o matemático D. R. Kaprekar concebeu um processo que agora é conhecido como operação de Kaprekar. Primeiro, escolha um número de quatro dígitos cujos dígitos não sejam todos iguais (ou seja, que não seja 1111, 2222 e assim por diante). Em seguida, reorganize os dígitos para obter os maiores e menores números que podem ser formados com eles. Por fim, subtraia o menor número do maior para obter um novo número e continue repetindo a operação para cada novo número.

É uma operação simples, mas Kaprekar descobriu que ela levava a um resultado surpreendente: quando chegamos a 6174, a operação se repete, retornando 6174 todas as vezes. Na verdade, chega-se a 6174 para todos os números de quatro dígitos que não têm todos os dígitos iguais. É maravilhoso. A operação de Kaprekar é tão simples, mas revela um resultado muito interessante.

Objetivo

Crie uma função que receba como argumento um número de quatro dígitos e retorne o número de iterações necessárias para chegar ao número 6174, com cada iteração incluída no valor retornado. Se o número for um repdigit, a função deverá retornar uma mensagem ao usuário.

Importante

  • Se em alguma iteração você tiver um número de 1, 2 ou 3 dígitos, adicione zeros à esquerda nos cálculos e na saída retornada. Veja o exemplo abaixo, em que n = 1.
  • Com base no ponto mencionado anteriormente, você pode esperar, por exemplo, que os números 1 e 1000 levem às mesmas iterações.

Exemplos

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