Mỗi một số nguyên dương đều có thể biểu diễn dưới dạng tích của 2 số nguyên dương ~X,Y~ sao cho ~X≤Y~. Nếu như trong phân tích này ta thay ~X~ bởi ~X-1~ còn ~Y~ bởi ~Y+1~ thì sau khi tính tích của chúng ta thu được hoặc là một số nguyên dương mới hoặc là số 0.
Ví Dụ: Số 12 có 3 cách phân tích ~1×12, 3×4, 2×6~. Cách phân tích thứ nhất cho ta tích mới là 0: ~(1-1)×(12+1) = 0~, cách phân tích thứ hai cho ta tích mới 10: ~(3-1)×(4+1) = 10~, còn cách phân tích thứ ba cho ta ~7: (2-1)×(6+1)=7~. Nếu kết quả là khác 0 ta lại lặp lại thủ tục này đối với số thu được. Rõ ràng áp dụng liên tiếp thủ tục trên, cuối cùng ta sẽ đến được số 0, không phụ thuộc vào việc ta chọn cách phân tích nào để tiếp tục
Yêu cầu: Cho trước số nguyên dương ~N~ ~(1≤N≤10^5)~, hãy đưa ra tất cả các số nguyên dương khác nhau có thể gặp trong việc áp dụng thủ tục đã mô tả đối với ~N~.
Dữ liệu vào: Số nguyên dương ~N~.
**Kết quả: **
Ví dụ:
Input:
12
Output:
6
0 3 4 6 7 10
**Ràng buộc: **
Code tích cực |
---|
Trong 24h |
|
Trong 7 ngày |
Trong 30 ngày |
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 37713 |