NTMK Winter Round 2021 - Collatz
Xem dạng PDF
SUBMIT SOLUTION
ID:
ntmk_winter_2021_collatz
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Java
3.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Output Only, Pascal, PyPy, Python, Scratch, TEXT
Thực hiện biến đổi một số nguyên dương theo quy tắc sau:
- Nếu số đó là số chẵn, chia nó cho ~2~.
- Nếu số đó là số lẻ, nhân nó với ~3~ và cộng thêm ~1~.
Giả thuyết Collatz chỉ ra rằng chúng ta có thể bắt đầu với bất kì số nguyên dương nào và thực hiện quy tắc trên nhiều bước, chúng ta sẽ cuối cùng sẽ kết thúc ở số ~1~ sau khi thực hiện hữu hạn các bước.
Viết chương trình mô phỏng quá trình thực hiện và in ra một số sau mỗi bước.
Input Specification
- Một số nguyên dương ~N~ (~1 \leq N \leq 10^6~).
Output Specification
- In ra một số sau mỗi bước thực hiện trên một dòng riêng biệt.
Sample Case(s)
Input #1:
12
Output #1:
6
3
10
5
16
8
4
2
1
Explanation:
- Chúng ta bắt đầu từ số ~12~, quá trình có thể được mô tả như sau: $$12 - 6 - 3 - 10 - 5 - 16 - 8 - 4 - 2 - 1$$
Bình luận