Prépa Code Connexion Inscription

Exercices de programmation pour classes préparatoires

← Retour aux exercices

Partition en deux parts égales

ocaml ★★★★☆

Écrire une fonction partition_egale : int list -> bool qui renvoie true si l'on peut séparer les éléments de la liste en deux sous-ensembles de même somme, et false sinon.

Chaque élément de la liste doit être utilisé exactement une fois, dans l'un ou l'autre des deux sous-ensembles. Les éléments sont supposés être des entiers positifs ou nuls.

Par exemple, partition_egale [1; 5; 11; 5] = true car on peut former {11} et {1; 5; 5}, tous deux de somme 11.

Conventions : - partition_egale [] = true (deux ensembles vides de somme 0), - si la somme totale est impaire, il est impossible de partitionner.

Exemples

AppelRésultat attendu
partition_egale [1; 5; 11; 5] True
partition_egale [1; 2; 3; 5] False

Votre code

Connectez-vous pour soumettre du code.