Haskell — Sumes iguals

  1. Feu una funció sumEquals1 :: Int -> [Int] -> [[Int]] que, donat un enter ss i una llista d’enters xs, retorni totes les subllistes de xs que sumen ss.

  2. Feu una funció sumEquals2 :: Int -> [Int] -> Maybe [Int] que, donat un enter ss i una llista d’enters xs, retorni (possiblement) el subconjunt (amb repetits o no, però usant cada element de xs com a molt un cop) més gran (en ordre lexicogràfic) dels que tinguin suma ss amb els elements ordenats no creixentment.

  3. Feu una funció sumEquals3 :: Int -> [Int] -> [[Int]] que, donat un natural ss i una llista de naturals xs, retorni totes les subllistes de xs que sumen ss. Per aquesta funció, un algorisme molt simple pot ser massa lent.

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 33 punts. L’exemple puntua 1 punt.

Informació del problema

Autoria: Jordi Petit

Generació: 2026-02-03T17:08:50.824Z

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