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