Điểm:
800 (p)
Thời gian:
1.0s
Bộ nhớ:
512M
Input:
bàn phím
Output:
màn hình
Xét thuật toán sau nhận đầu vào là một số nguyên dương \(n\). Nếu \(n\) chẵn, thuật toán sẽ chia nó cho hai, và nếu \(n\) lẻ, thuật toán nhân ba nó lên rồi cộng thêm một đơn vị. Thuật toán trên lặp lại điều này cho tới khi \(n\) bằng \(1\). Ví dụ, dãy số thực hiện với \(n=3\) là:
\[3 \rightarrow 10 \rightarrow 5 \rightarrow 16 \rightarrow 8 \rightarrow 4 \rightarrow 2 \rightarrow 1\]
Việc của bạn là hãy mô phỏng lại cách hoạt động của thuật toán với một giá trị \(n\) cho trước.
Input
- Một dòng duy nhất chứa số \(n\).
Output
- In ra một dòng lần lượt chứa từng giá trị của \(n\) trong khi chạy thuật toán.
Constraints
- \(1 \le n \le 10^6\)
Example
Sample input
3
Sample output
3 10 5 16 8 4 2 1
Bình luận
Mình làm thế này mà bị Wrong Answer là sao nhỉ?
a=int(input())
for i in range(10**6):
if a==1:
print(1,end=" ")
break
else:
if a%2==0:
print(a//2,end=" ")
else:
print(a*3+1,end=" ")
Hình như bạn quên chưa thụt đầu dòng mấy câu lệnh đúng không
Sau các câu lệnh for, if-elif-else nhớ bấm tab hoặc bấm phím cách 4 lần nha bạn
ko phải sai cái đó đâu do khi code thì nó vẫn cách đầu dòng như bình thường nhưng khi gửi lên comment thì nó không cách nữa bạn không tin thì thử mà xem
Sai cũng đúng,phải cho a thay đổi chứ.
Bạn cần code ko.
Có bạn ơi