Corrigé sujet 31 - Année : 2022
Exercice 1
1 2 3 4 5 6 |
|
Exercice 2
1 2 3 4 5 6 7 8 9 10 11 12 |
|
- La liste des pièces à rendre, initialisée à
[]
- La somme à rendre, initialisé à
s_versee - s_due
- La condition d'arrêt, plus rien à rendre
- C'est l'algorithme glouton classique pour le rendu de monnaie (les pieces sont rangées dans l'ordre). Si la pièce est inférieure à la somme à rendre, on l'ajoute au rendu et on diminue la somme à rendre. Sinon on passe à la pièce suivante.
Attention
- On utilise ici une liste de pièces classées par ordre croissant de valeurs, cela oblige donc à commencer par la fin de la liste. C'est ce qui explique le parcours de la liste "à l'envers" : initialisation de
i
àlen(pièces)-1
puis décrémentation dei
. - La fonction utilise deux arguments
s_versee
ets_due
pour calculer la somme à rendre (s_versee-s_due
), on pourrait directement une fonction qui prend en argument la somme à rendre.
Commentaires
C'est un exercice classique de parcours d'un itérable en comptant les occurrences d'apparition d'une valeur. Un parcours par élément suffit, les indices des occurrences n'étant pas utilisées.