Calculadora de Collatz
Uma sequência de Collatz é gerada aplicando repetidamente estas regras a um número inteiro positivo e depois a cada inteiro resultante:
- Se o valor for par, divida-o por 2.
- Se o valor for ímpar, multiplique-o por 3 e depois some 1.
A conjectura de Collatz afirma que todo número inteiro positivo inicial acabará chegando a 1.
Escreva um método que, para um número inteiro positivo inicial n, retorne um array contendo dois valores nesta ordem:
- A quantidade de vezes que a regra de Collatz deve ser aplicada para chegar a 1.
- O maior valor alcançado, incluindo o valor inicial.
Exemplos
Program.collatz(17) ➞ new int[] { 12, 52 }
// 17 – 52 – 26 – 13 – 40 – 20 – 10 – 5 – 16 – 8 – 4 – 2 – 1
// Isso leva 12 passos, e 52 é o maior valor alcançado.
Program.collatz(6) ➞ new int[] { 8, 16 }
Program.collatz(21) ➞ new int[] { 7, 64 }Observações
N/A