Do tego wyzwania stworzysz funkcję (twoja funkcja może być kompletnym programem), która pobiera listę jako dane wejściowe i zwraca permutację tej listy. Twoja funkcja musi spełniać następujące wymagania.
To musi być deterministyczne.
Skomponowanie funkcji ze sobą wiele razy powinno być w stanie uzyskać listę dowolnych permutacji.
To jest pytanie w golfa kodu, więc odpowiedzi będą oceniane w bajtach, przy czym mniej bajtów będzie lepszych.
Dalsze zasady
Można wziąć wszelkiego rodzaju listy, (
[Integer]
,[String]
,[[Integer]]
) tak długo, jak- Może być niepusty
- Może zawierać odrębne obiekty o co najmniej 16 możliwych wartościach. (Nie możesz użyć Haskell
[()]
i twierdzić, że twoja funkcja toid
) - Może zawierać zduplikowane obiekty (bez zestawów)
Możesz napisać program lub funkcję, ale musisz przestrzegać standardowego IO.
next_permutation
funkcję.
S_n
jest cykliczny tylko dlan<3