Tentukan urutan panjang prepend-appendn untuk menjadi permutasi dari angka 1, 2, ..., nyang dapat dihasilkan oleh prosedur berikut:
Mulai dengan nomornya
1.Untuk setiap angka dari
2hinggan, tempatkan nomor ini ke awal atau akhir urutan (baik tambahkan atau tambahkan , maka nama urutan).
Misalnya, ini adalah cara yang valid untuk menghasilkan urutan panjang tambahan 4 yang ditambahkan:
1
21 [beginning]
213 [end]
2134 [end]
Tugas Anda adalah untuk membangun program atau fungsi yang akan mengambil angka ndari 3menjadi 30sebagai input, dan mencetak atau mengembalikan semua urutan panjang tambahan yang ditambahkan dalam urutan nleksikografis (jika Anda mengeluarkan string dan bukan daftar, angka di atas 9 akan diwakili sebagai huruf a-u, untuk menjaga panjang string). Misalnya, ini adalah pesanan untuk n = 4:
1234 [RRR]
2134 [LRR]
3124 [RLR]
3214 [LLR]
4123 [RRL]
4213 [LRL]
4312 [RLL]
4321 [LLL]
Secara umum, ada 2 n-1 permutasi penambahan-append panjang n.
Anda tidak boleh menggunakan fungsi penyortiran bawaan dalam bahasa Anda dalam kode Anda. Program terpendek untuk melakukan ini dalam bahasa apa pun menang.
a-u. Bisakah kita hanya menampilkan daftar angka?