Eu acho que a Conjectura Collatz já é bem conhecida. Mas e se invertermos as regras?
Comece com um número inteiro n> = 1.
Repita as seguintes etapas:
Se n for par , multiplique por 3 e adicione 1.
Se n for ímpar , subtraia 1 e divida por 2.
Pare quando atingir 0
Imprima os números iterados.
Casos de teste:
1 => 1, 0
2 => 2, 7, 3, 1, 0
3 => 3, 1, 0
10 => 10, 31, 15, 7, 3...
14 => 14, 43, 21, 10, ...
Regras:
Essa sequência não funciona para muitos números porque entra em um loop infinito. Você não precisa lidar com esses casos. Apenas imprimir os casos de teste acima é suficiente.
Sugeri subtrair 1 e dividir por dois para fornecer um número inteiro válido para continuar, mas não é necessário que seja calculado dessa maneira. Você pode dividir por 2 e converter para número inteiro ou quaisquer outros métodos que fornecerão a saída esperada.
Você também precisa imprimir a entrada inicial.
A saída não precisa ser formatada como os casos de teste. foi só uma sugestão. No entanto, a ordem iterada deve ser respeitada.
O menor código vence.
0
no final?