Exercício: Sequência de Collatz
A Sequência de Collatz é definida da seguinte forma, para um n arbitrário1maior que zero:- Se _ni_ é 1, então a sequência termina em _ni_.
-
Se _ni_ é par, então _ni+1= ni/ 2_.
-
Se _ni_ é ímpar, então _ni+1= 3 * ni
- 1_.
Por exemplo, começando com _n1_ = 3:- 3 é ímpar, então _n2_ = 3 * 3 + 1 = 10;
- 10 é par, então _n3_ = 10 / 2 = 5;
- 5 é ímpar, então _n4_ = 3 * 5 + 1 = 16;
- 16 é par, então _n5_ = 16 / 2 = 8;
- 8 é par, então _n6_ = 8 / 2 = 4;
- 4 é par, então _n7_ = 4 / 2 = 2;
- 2 é par, então _n8_ = 1; e
- a sequência termina.
Escreva uma função para calcular o comprimento da sequência de Collatz para um dado n
inicial.
/// Determine o comprimento da sequência de Collatz começando em `n`. fn collatz_length(mut n: i32) -> u32 { todo!("Implemente isso") } fn main() { todo!("Implemente isso") }