Phân tích Collatz

Xem dạng PDF

Mô tả bài toán:

Cho một thuật toán nhận đầu vào là một số nguyên dương ~ n ~. Nếu ~ n ~ là số chẵn, thuật toán chia ~ n ~ cho hai, và nếu ~ n ~ là số lẻ, thuật toán nhân ~ n ~ với ba và cộng thêm một. Thuật toán lặp lại quá trình này cho đến khi ~ n ~ bằng một. Ví dụ, chuỗi các số khi ~ n = 3 ~ như sau:

~3 \to 10 \to 5 \to 16 \to 8 \to 4 \to 2 \to 1~

Yêu cầu: Nhiệm vụ của bạn là mô phỏng quá trình thực thi thuật toán với giá trị ~ n ~ được cho.


Dữ liệu vào
  • Dòng đầu tiên và duy nhất chứa số nguyên ~ n ~.
Dữ liệu ra
  • In ra một dòng chứa tất cả các giá trị của ~ n ~ trong quá trình thực thi thuật toán.

Ràng buộc
  • ~ 1 \leq n \leq 10^6 ~

Ví dụ
Dữ liệu mẫu
3
Kết quả mẫu
3 10 5 16 8 4 2 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.

Gửi bài giải
Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout
Nguồn bài: CSES
Dạng bài
CSES
Ngôn ngữ cho phép
C
C++
Java
Kotlin
Pascal
PyPy
Python
Scratch