Haskell — Permutacions

Aquest exercici explora la generació exhaustiva de permutacions.

  1. Feu una funció permutations1 :: [a] -> [[a]] que, donada una llista, retorni la llista de totes les permutacions que es poden formar amb els seus elements.

  2. Feu una funció permutations2 :: Int -> [[Int]] que, donat un natural nn, retorni la llista de totes les permutacions de [1..n][1..n].

  3. Feu una funció permutations3 :: [a] -> [[a]] que, donada una llista, retorni les permutacions amb repetició que es poden formar amb els seus elements.

  4. Feu una funció permutations4 :: Int -> [[Int]] que, donat un natural nn, retorni la llista de totes les permutacions amb repetició de [1..n][1..n].

  5. Feu una funció permutations5 :: [Char] -> [Char] -> [[Char]] que, donades nn consonants i nn vocals, retorni totes les paraules que es poden formar usant exactament una vegada cada lletra. Les paraules han de començar en consonant, i han d’alternar consonants i vocals.

Observació

Per tal que no importi l’ordre en que genereu la solució, els jocs de proves ordenen el resultat. Per a això, importeu la funció sort del mòdul Data.List encara que no la feu servir.

Puntuació

Cada funció puntua 20 punts.

Informació del problema

Autoria: Jordi Petit

Generació: 2026-02-03T17:07:17.736Z

© Jutge.org, 2006–2026.
https://jutge.org