Aquest exercici explora la generació exhaustiva de multiconjunts.
Feu una funció
multisets1 :: Int -> Int -> [[Int]] que, donats dos
naturals
i
,
retorni tots els multiconjunts que es poden formar amb
,
de manera que cada nombre aparegui com a molt
vegades.
Feu una funció
multisets2 :: Int -> Int -> Int -> [[Int]] que,
donats tres naturals
,
i
,
retorni tots els multiconjunts que es poden formar amb
,
de manera que cada nombre aparegui entre
i
vegades.
Feu una funció
multisets3 :: Int -> Int -> [[Int]] que, donats dos
naturals
i
,
retorni tots els multiconjunts de
nombres que es poden formar amb
.
Feu una funció
multisets4 :: Int -> Int -> Int -> Int -> [[Int]]
que, donats quatre naturals
i
,
retorni tots els multiconjunts de
nombres que es poden formar amb
de forma que cada nombre aparegui entre
i
vegades.
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.
Cada funció puntua 25 punts.
Autoria: Jordi Petit
Generació: 2026-02-03T17:05:08.106Z
© Jutge.org, 2006–2026.
https://jutge.org