Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Giải thuật] Phân tích số thành tổng

    Cho số nguyên dương nnn. Một cách phân tích nnn là cách viết nnn thành tổng của một hoặc nhiều số nguyên dương, không phân biệt thứ tự các số hạng. Quy ước viết các số hạng theo thứ tự không tăng (giảm dần hoặc bằng) để mỗi cách chỉ xuất hiện một lần.

    Ví dụ với n=4n = 4n=4 có 5 cách: 4, 3 1, 2 2, 2 1 1, 1 1 1 1.

    Hãy in ra tất cả các cách phân tích, mỗi cách trên một dòng, các số hạng cách nhau bởi dấu cách. Thứ tự các dòng phải theo quy tắc: cách có số hạng đầu lớn hơn in trước; nếu số hạng đầu bằng nhau thì so sánh các số hạng tiếp theo tương tự (tức thứ tự từ điển giảm dần trên dãy số hạng). Hãy dùng quay lui.

    • Định dạng đầu vào:

      Một dòng chứa số nguyên dương nnn.

    • Ràng buộc đầu vào:

      1≤n≤501 \le n \le 501≤n≤50 (số cách phân tích của 505050 là 204226204226204226, vẫn in được nhanh).

    • Định dạng đầu ra:

      In ra mỗi cách phân tích trên một dòng theo thứ tự mô tả ở trên.

    Ví dụ:

    Đầu vào:

    4
    

    Đầu ra:

    4
    3 1
    2 2
    2 1 1
    1 1 1 1

    Giải thích:

    Năm cách phân tích của 4, in theo thứ tự số hạng đầu giảm dần: 4; 3 1; 2 2; 2 1 1; 1 1 1 1.

    Đang tải editor...