Adloun

OCaml (option informatique) · Chapitre 12 · Application directe du cours

Rendu de monnaie glouton

Algorithmes gloutons · niveau 1 (application)

É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 ().

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre