Pour ce défi, vous allez créer une fonction (votre fonction peut être un programme complet) qui prend une liste en entrée et renvoie une permutation de cette liste. Votre fonction doit respecter les exigences suivantes.
Elle doit être déterministe.
Composer votre fonction avec elle-même un nombre variable de fois devrait être capable d'obtenir une liste de n'importe laquelle de ses permutations.
Il s'agit d'une question de code-golf, donc les réponses seront notées en octets, avec moins d'octets étant mieux.
Règles supplémentaires
Vous pouvez prendre tout type de liste, (
[Integer]
,[String]
,[[Integer]]
) aussi longtemps qu'il- Peut être non vide
- Peut contenir des objets distincts avec au moins 16 valeurs possibles. (Vous ne pouvez pas utiliser un Haskell
[()]
et prétendre que votre fonction estid
) - Peut contenir des objets en double (pas d'ensembles)
Vous pouvez écrire un programme ou une fonction, mais vous devez respecter les E / S standard.
next_permutation
fonction.
S_n
n'est cyclique que pourn<3