Xác định một chuỗi độ dài nối thêmn vào là một hoán vị của các số 1, 2, ..., ncó thể được tạo bằng thủ tục sau:
Bắt đầu với số lượng
1.Đối với mỗi số từ
2đếnn, đặt số này vào đầu hoặc cuối của chuỗi ( thêm vào hoặc nối thêm nó, do đó là tên của chuỗi).
Ví dụ: đây là một cách hợp lệ để tạo ra một chuỗi bổ sung có độ dài 4:
1
21 [beginning]
213 [end]
2134 [end]
Nhiệm vụ của bạn là xây dựng một chương trình hoặc chức năng đó sẽ mất một số ntừ 3để 30làm đầu vào, và in hoặc trả lại toàn bộ trình tự thêm vào trước-append chiều dài ntrong thứ tự từ điển (nếu bạn đang xuất ra chuỗi và không liệt kê, số trên 9 sẽ được đại diện dưới dạng chữ cái a-u, để duy trì độ dài chuỗi). Ví dụ: đây là thứ tự cho n = 4:
1234 [RRR]
2134 [LRR]
3124 [RLR]
3214 [LLR]
4123 [RRL]
4213 [LRL]
4312 [RLL]
4321 [LLL]
Nói chung, có 2 hoán vị bổ sung n-1 có độ dài n.
Bạn không được sử dụng bất kỳ chức năng sắp xếp tích hợp nào trong ngôn ngữ của bạn trong mã của bạn. Chương trình ngắn nhất để làm điều này trong bất kỳ ngôn ngữ nào sẽ thắng.
a-u. Chúng ta chỉ có thể xuất danh sách các số?