Neste exercício, você colocará em prática alguns conhecimentos de aritmética de inteiros através de uma propriedade interessante descoberta por Dattatreya Ramchandra Kaprekar.
Kaprekar criou uma rotina matemática, a rotina de Kaprekar, que consiste em um algoritmo iterativo que inicia com um número natural e cria dois novos números mediante a ordenação dos dígitos dos número inicial em duas situações: com ordem crescente e com ordem decrescente. O algoritmo continua subtraindo o último número do primeiro gerando, dessa forma, uma nova entrada para a próxima iteração.
Um fato curioso desse algoritmo é que, caso o número de entrada seja um número de quatro dígitos, o processo iterativo vai convergir alcançando uma constante (a constante de Kaprekar) igual a 6174. Caso sejam usados números naturais com outras quantidades de dígitos, o algoritmo converge para sequências cíclicas com outras constantes.
Eis um exemplo: entrada 3177
3177: 7731 - 1377 = 63546354: 6543 - 3456 = 30873087: 8730 - 378 = 83528352: 8532 - 2358 = 6174Depois de 4 passos, chegamos à constante de Kaprekar para 4 dígitos: 6174.
Para este problema, você deverá implementar um programa que leia um número natural de quatro dígitos e conte a quantidade de passos necessários para se alcançar o valor da constante de Kaprekar.
A entrada é composta por um número natural . Os quatro dígitos de não poderão ser repetidos de forma que a primeira subtração resulte 0.
Caso não pertença ao conjunto dos naturais de quatro dígitos, a mensagem ‘entrada invalida.’ deverá ser apresentada.
Caso não pertença ao conjunto dos naturais de quatro dígitos, a resposta deverá ser a quantidade de passos necessários para se alcançar o valor da constante de Kaprekar: 6174
1111
entrada invalida.
-1098
entrada invalida.
823
entrada invalida.
3177
4