Adloun

Rendu de monnaie glouton

Exercice · OCaml (option informatique), chapitre 12 — Algorithmes gloutons

Énoncé

Écrire rendu et donner rendu [50; 20; 10; 5; 2; 1] 67.

Corrigé

let rec rendu pieces montant =
  match pieces with
  | [] -> if montant = 0 then [] else failwith "rendu impossible"
  | p :: reste ->
      if p <= montant then p :: rendu pieces (montant - p)
      else rendu reste montant

rendu [50;20;10;5;2;1] 67 [50; 10; 5; 2], soit quatre pièces ().

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.