#PH001. Thuật toán kỳ lạ (Weird Algorithm)
Thuật toán kỳ lạ (Weird Algorithm)
Thuật toán kỳ lạ
Nguồn: CSES Problem Set
Đề bài
Xét một thuật toán nhận đầu vào là một số nguyên dương .
Thuật toán được thực hiện như sau:
- Nếu là số chẵn, thay bằng .
- Nếu là số lẻ, thay bằng .
Lặp lại quá trình trên cho đến khi .
Ví dụ, với , ta thu được dãy:
$$3 \rightarrow 10 \rightarrow 5 \rightarrow 16 \rightarrow 8 \rightarrow 4 \rightarrow 2 \rightarrow 1$$Nhiệm vụ của bạn là mô phỏng thuật toán trên với giá trị đã cho và in ra toàn bộ các giá trị xuất hiện trong quá trình thực hiện.
Dữ liệu vào
Dòng duy nhất chứa một số nguyên dương .
Dữ liệu ra
In ra trên một dòng tất cả các giá trị của xuất hiện trong quá trình thực hiện thuật toán, theo đúng thứ tự.
Các giá trị được phân cách bởi một dấu cách.
Giới hạn
Ví dụ
Input
3
Output
3 10 5 16 8 4 2 1