Gửi bài giải
Điểm:
0,10 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Problem type
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
An có 1 số nguyên dương ~n~. Bạn ấy nghĩ ra một thuật toán mới để biến đổi ~n~ về giá trị 1. Phép biến đổi được thực hiện như sau:
- ~n = n \div 2~ nếu ~n~ là số chẵn
- ~n = 3n + 1~ nếu ~n~ là số lẻ.
Phép biến đổi được lặp lại cho đến khi ~n = 1~.
Ví dụ: với ~n = 13~: các phép biến đổi lần lượt được thực hiện như sau:
~13 \rightarrow 40 \rightarrow 20 \rightarrow 10 \rightarrow 5 \rightarrow 16 \rightarrow 8 \rightarrow 4 \rightarrow 2 \rightarrow 1~
Yêu cầu
Hãy cho biết với số nguyên ~n~ cho trước, cần thực hiện bao nhiêu bước biến đổi để ~n~ nhận được giá trị bằng 1.
Input
Một dòng duy nhất chứa số nguyên ~n~ (~1 \leq n \leq 1000~)
Output
Một dòng duy nhất chứa kết quả tìm được.
Sample Test
Input
13
Output
9
Bình luận