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:
Nguyen Thi Minh Khai Winter Round 2021
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

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.