Biến đổi số

Xem dạng PDF

Gửi bài giải

Điểm: 0,20 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho số nguyên dương n, hãy biến đổi n thành F(n) một số lần cho đến khi n=1. Biết F(n) được cho bởi công thức sau:

F(n) =

• n / 2 nếu n chẵn

• 3n + 1 nếu n lẻ

Ví dụ với n = 5, các phép biển đổi được biểu diễn như sau:

• 5 → 16 → 8 → 4 → 2 → 1.

• Số phép biến đổi thực hiện là 5.

Dữ liệu

• Dòng đầu tiên chứ số nguyên dương T ~(T≤10^3)~.

• T dòng tiếp theo, mỗi dòng chứa một số nguyên dương ~N_i (N_i≤10^6~)

Kết quả:

Ghi kết quả ra T dòng, dòng thứ i ghi ra số phép biến đổi tương ứng với số ~N_i~. Biết rằng số phép biến đổi luôn hữu hạn.

Ví dụ

Input

3

5

1

2

Output

5

0

1

Bình luận

Hãy đọc nội quy trước khi bình luận.


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