Adloun

Les parties

Exercice · OCaml (option informatique), chapitre 11 — Récursivité et retour sur trace

Énoncé

Écrire parties et vérifier qu'une liste de éléments produit parties.

Corrigé

let rec parties l =
  match l with
  | [] -> [[]]
  | x :: reste ->
      let sous = parties reste in
      sous @ List.map (fun s -> x :: s) sous

À chaque élément, on double le nombre de parties (celles sans x, et les mêmes avec x en tête). Partant de [[]] ( partie pour la liste vide), on obtient : parties [1; 2; 3] en a .

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.