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_permutationfunkcję.

S_njest cykliczny tylko dlan<3