Haskell — Subconjunts

Aquest exercici explora la generació exhaustiva de subconjunts.

  1. Feu una funció zerosNones1 :: Int -> [[Int]] que, donat un n≥0n\ge0, retorni totes les combinacions de zz zeros i uu uns tals que z+u=nz + u = n.

  2. Feu una funció zerosNones2 :: Int -> Int -> [[Int]] que, donats n≥0n\ge0 i 0≤u≤n0\le u\le n, retorni totes les combinacions de n−un-u zeros i uu uns.

  3. Feu una funció subsets1 :: [a] -> [[a]] que, donats n≥0n\ge0 elements, retorni una llista amb tots els subconjunts que es poden formar amb els elements.

  4. Feu una funció subsets2 :: Int -> [a] -> [[a]] que, donats un nombre m≥0m\ge0 i n≥0n\ge0 elements, escrigui tots els subconjunts de mm elements que es poden formar amb els nn elements.

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 25 punts.

Informació del problema

Autoria: Jordi Petit

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

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