[CSES] Weird Algorithm

by | Mar 19, 2024 | Hướng dẫn giải | 0 comments

Đề bài

Cho số nguyên dương N, bạn được yêu cầu thực hiện các phép biến đổi giá trị của N theo quy tắc sau:

Nếu N là số chẵn –> N = N/2

Nếu N là số lẻ –> N = 3*N+1

Thực hiện phép biến đổi cho đến khi N = 1

Ví dụ: Nếu N = 3 thì dãy kết quả các phép biến đổi sẽ như sau:

$$3 \to10 \to 5 \to 16 \to 8 \to 4 \to 2 \to 1$$

Input

Số nguyên dương N $(1 \le N \le 10^6)$

Output:

Dãy kết quả các phép biến đổi của N (xem ví dụ)

Ví dụ:

Input

3

Output

3 10 5 16 8 4 2 1

Hướng dẫn

Biến đổi N theo đúng mô tả của đề, sử dụng vòng lặp while cho tới khi nào N = 1 thì dừng lại.

Mã nguồn tham khảo

[Đăng ký tài khoản để xem mã nguồn]