Untuk tantangan ini, Anda akan membuat fungsi (fungsi Anda mungkin merupakan program lengkap) yang mengambil daftar sebagai input dan mengembalikan permutasi daftar itu. Fungsi Anda harus mematuhi persyaratan berikut.
Itu harus deterministik.
Menyusun fungsi Anda dengan dirinya sendiri beberapa kali variabel harus mampu mendapatkan daftar ke permutasi apa pun.
Ini adalah pertanyaan kode-golf sehingga jawaban akan dinilai dalam byte, dengan lebih sedikit byte yang lebih baik.
Aturan lebih lanjut
Anda dapat mengambil jenis daftar, (
[Integer]
,[String]
,[[Integer]]
) asalkan- Bisa tidak kosong
- Dapat berisi objek yang berbeda dengan setidaknya 16 nilai yang mungkin. (Anda tidak dapat menggunakan Haskell
[()]
dan mengklaim fungsi Anda adalahid
) - Dapat berisi objek duplikat (tanpa set)
Anda dapat menulis program atau fungsi, tetapi harus mematuhi standar IO.
next_permutation
fungsi.
S_n
hanya siklus untukn<3