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 inteiro positivo inicial acabará chegando a 1.
Escreva um método que, dado um inteiro positivo inicial n, retorne um array contendo dois valores nesta ordem:
- O número 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[] { 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[] { 8, 16 }
Program.Collatz(21) ➞ new[] { 7, 64 }Notas
N/A