연습문제: 콜라츠 수열

콜라츠 수열은 임의의 n에 대해 다음과 같이 정의됩니다.10보다 큰 경우:- _ni_이 1이면 수열은 _n에서 종료됩니다.i_.

  • _ni_이(가) 짝수면 _ni+1= ni/ 2_입니다.

  • _ni_이(가) 홀수이면 _ni+1= 3 * ni

    • 1_입니다.

예를 들어 _n1_ = 3:으로 시작하면- 3 is odd, so _n2_ = 3 * 3 + 1 = 10이며

  • 10 is even, so _n3_ = 10 / 2 = 5이며
  • 5 is odd, so n4 = 3 * 5 + 1 = 16;
  • 16 is even, so n5 = 16 / 2 = 8;
  • 8 is even, so n6 = 8 / 2 = 4;
  • 4 is even, so n7 = 4 / 2 = 2;
  • 2 is even, so _n8_ = 1이 되어
  • 수열이 종료됩니다.

주어진 첫 번째 n에 대해 콜라츠 수열의 길이를 계산하는 함수를 작성합니다.

/// `n`에서 시작하는 콜라츠 수열의 길이를 결정합니다.
fn collatz_length(mut n: i32) -> u32 {
  todo!("Implement this")
}

fn main() {
  todo!("Implement this")
}