Ejercicio: secuencia de Collatz

La secuencia de Collatz se define de la siguiente manera, para n1 arbitrario mayor que cero:

  • Si _ni_es 1, la secuencia termina en ni.
  • Si ni es par, ni+1 = ni / 2.
  • Si ni es impar, ni+1 = 3 * ni + 1.

Por ejemplo, empezando con n1 = 3:

  • 3 es impar, entonces n2 = 3 * 3 + 1 = 10;
  • 10 is par, entonces n3 = 10 / 2 = 5;
  • 5 es impar, entonces n4 = 3 * 5 + 1 = 16;
  • 16 es par, entonces n5 = 16 / 2 = 8;
  • 8 es par, entonces n6 = 8 / 2 = 4;
  • 44 es par, entonces n7 = 4 / 2 = 2;
  • 2 es par, entonces n8 = 1; and
  • la secuencia finaliza.

Escribe una función para calcular la longitud de la secuencia de Collatz para un número n inicial dado.

/// Determina la longitud de la secuencia de Collatz que empieza por `n`.
fn collatz_length(mut n: i32) -> u32 {
  todo!("Implementar esto")
}

fn main() {
  todo!("Implementar esto")
}