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