Per questa sfida hai intenzione di creare una funzione (la tua funzione potrebbe essere un programma completo) che accetta un elenco come input e restituisce una permutazione di tale elenco. La tua funzione deve rispettare i seguenti requisiti.
Deve essere deterministico.
Comporre la tua funzione con se stesso un numero variabile di volte dovrebbe essere in grado di ottenere un elenco di una qualsiasi delle sue permutazioni.
Questa è una domanda di code-golf, quindi le risposte verranno classificate in byte, con meno byte migliori.
Ulteriori regole
Si può prendere qualsiasi tipo di lista, (
[Integer]
,[String]
,[[Integer]]
) purché- Può essere non vuoto
- Può contenere oggetti distinti con almeno 16 possibili valori. (Non puoi usare un Haskell
[()]
e rivendicare la tua funzioneid
) - Può contenere oggetti duplicati (nessun set)
È possibile scrivere un programma o una funzione, ma è necessario rispettare l'IO standard.
next_permutation
funzione.
S_n
è solo ciclico pern<3