Biến đổi số

Xem dạng PDF

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

Please read the guidelines before commenting.


Không có bình luận tại thời điểm này.