Prépa Code Connexion Inscription

Exercices de programmation pour classes préparatoires

← Retour aux exercices

Rendu de monnaie

ocaml ★★★☆☆

Écrire une fonction rendre_monnaie : int list -> int -> int qui renvoie le nombre minimum de pièces nécessaires pour faire la somme cible en utilisant les pièces de la liste pieces. Chaque pièce peut être utilisée autant de fois qu'on le souhaite (quantité illimitée).

Si la somme cible ne peut pas être atteinte, renvoyer -1.

Conventions : - rendre_monnaie pieces 0 = 0 (aucune pièce nécessaire), - les pièces sont des entiers strictement positifs, - la cible est un entier positif ou nul.

Par exemple, avec les pièces [1; 2; 5] et la cible 11, on peut utiliser 5 + 5 + 1, soit 3 pièces, et on ne peut pas faire mieux.

Exemples

AppelRésultat attendu
rendre_monnaie [1; 2; 5] 11 3
rendre_monnaie [2] 3 -1

Votre code

Connectez-vous pour soumettre du code.