Para esse desafio, você criará uma função (sua função pode ser um programa completo) que recebe uma lista como entrada e retorna uma permutação dessa lista. Sua função deve obedecer aos seguintes requisitos.
Deve ser determinístico.
A composição da sua função consigo um número variável de vezes deve ser capaz de obter uma lista para qualquer uma de suas permutações.
Esta é uma questão de código-golfe, para que as respostas sejam pontuadas em bytes, com menos bytes sendo melhores.
Regras adicionais
Você pode tomar qualquer tipo de lista, (
[Integer]
,[String]
,[[Integer]]
) desde que- Pode não estar vazio
- Pode conter objetos distintos com pelo menos 16 valores possíveis. (Você não pode usar um Haskell
[()]
e afirmar que sua função éid
) - Pode conter objetos duplicados (sem conjuntos)
Você pode escrever um programa ou uma função, mas deve obedecer a IO padrão.
next_permutation
função.
S_n
só é cíclica paran<3