Exercices de programmation pour classes préparatoires
É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.
| Appel | Résultat attendu |
|---|---|
| rendre_monnaie [1; 2; 5] 11 | 3 |
| rendre_monnaie [2] 3 | -1 |
Connectez-vous pour soumettre du code.