#CCBOTPBA0000058. Truy vết Collatz độ dài (Collatz Sequence Length)
Truy vết Collatz độ dài (Collatz Sequence Length)
Truy vết Collatz độ dài (Collatz Sequence Length)
Nguồn: Phước Hưng OJ
Phiên bản: Phước Hưng OJ Extended
Đề bài
Cho một số nguyên dương . Bắt đầu với và ghi lại giá trị này. Khi , thực hiện đúng một thao tác: nếu chẵn thì thay bằng ; nếu lẻ thì thay bằng . Ghi lại giá trị mới sau từng thao tác. Khi xuất hiện , dừng lại. Hãy đếm số phần tử đã ghi, tính cả số bắt đầu và số kết thúc . Không cần in dãy số.
Input
Một dòng chứa số nguyên dương .
Output
In một số nguyên duy nhất: số phần tử của dãy Collatz bắt đầu từ và kết thúc tại .
Subtask
- Subtask 1 (20%): .
- Subtask 2 (30%): .
- Subtask 3 (50%): .
Ví dụ
Ví dụ 1
Input:
1
Output:
1
Giải thích: Giá trị ban đầu đã bằng , nên không có lần biến đổi nào. Dãy chỉ có một phần tử là ; kết quả bằng , không phải .
Ví dụ 2
Input:
6
Output:
9
Giải thích: Lần lượt ghi . Có lần biến đổi và phần tử, vì phần tử ban đầu cũng được tính.
Ví dụ 3
Input:
3
Output:
8
Giải thích: Dãy là . Đếm lần lượt từng giá trị được ghi thu được phần tử.