Exercices de programmation pour classes préparatoires
Soit lst une liste d'entiers et cible un entier. Ecrire une fonction sous_ensembles_somme(lst, cible) qui renvoie la liste de tous les sous-ensembles (representes par des listes) de lst dont la somme vaut exactement cible.
L'ordre des sous-ensembles dans la liste resultat suit l'ordre de decouverte par un parcours classique de backtracking, en considerant pour chaque indice i les deux choix "prendre" puis "ne pas prendre" (dans cet ordre). Les elements a l'interieur d'un sous-ensemble sont dans le meme ordre que dans lst.
Le sous-ensemble vide [] est une reponse valide si cible == 0.
| Appel | Résultat attendu |
|---|---|
| sous_ensembles_somme([1, 2, 3], 3) | [[1, 2], [3]] |
| sous_ensembles_somme([1, 2, 3], 0) | [[]] |
Connectez-vous pour soumettre du code.