Constante de Kaprekar

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

Depois 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 aa de quatro dígitos e conte a quantidade de passos necessários para se alcançar o valor da constante de Kaprekar.

Entrada

A entrada é composta por um número natural aa. Os quatro dígitos de aa não poderão ser repetidos de forma que a primeira subtração resulte 0.

Saída

Caso aa não pertença ao conjunto dos naturais de quatro dígitos, a mensagem ‘entrada invalida.’ deverá ser apresentada.

Caso aa 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

Exemplo de Entrada

1111

Saída

entrada invalida.

Exemplo de Entrada

-1098

Saída

entrada invalida.

Exemplo de Entrada

823

Saída

entrada invalida.

Exemplo de Entrada

3177

Saída

4