s=s-50;
n1++;
}
else if (s >= 20 ){
s = s -20;
n2++;
}
else {
s=s-10;
n3++;
}
}
Afficher (n1, "billets de 50 euros);
Afficher (n2, "billets de 20 euros);
Afficher (n3, "billets de 10 euros);
2. D´eterminer le nombre de soustractions effectu´ees par l’algorithme ; on donnera une
formule faisant intervenir des divisions enti`eres par les nombres 50, 20 et 10.
Soit q1le quotient entier de spar 50, q2 celui de s−50q1par 20, et q3la valeur de
s−50q1−20q2
10 le nombre de soustractions effectu´ees est q1+q2+q3qui inf´erieur ou ´egal
`a s
50 + 3
3. Le nombre de billets donn´e par l’algorithme pr´ec´edent est le plus petit possible.
Pour cela on consid`ere les 5 possibilit´es de la valeur du reste de la division par 50
de la somme s.
•Si la somme est un multiple de 50 alors l’algorithme ne donne que des billets
de 50 et il n’est pas possible de faire mieux,
•Si la somme sest ´egale `a 50a+ 10, l’algorithme donne abillets de 50 et 1 billet
de 10.
•Si la somme sest ´egale `a 50a+ 20, l’algorithme donne abillets de 50 et 1 billet
de 20.
•Si la somme sest ´egale `a 50a+ 30, l’algorithme donne abillets de 50 1 billet
de 20 et 1 billet de 10.
•Si la somme sest ´egale `a 50a+40, l’algorithme donne abillets de 50 et 2 billets
de 20.
Toute autre fa¸con de constituer ces sommesavec des billets de 50, 20 et donnera un
nombre de billets plus grand
4. G´en´eralisation de l’algorithme de d´etermination du nombre de billets `a rendre au
cas o`u les valeurs de billets disponibles sont en nombre quelconque et figurent dans
un tableau `a valeurs d´ecroissantes val[0] > val[1] > ... > val[k-1].
3