Compléter une fonction plus_grand_multiple(a, b) qui renvoie le plus grand multiple de a inférieur ou égal à b, pour a > 0 et b ≥ 0.
Voir la correction
le quotient entier b // a indique combien de fois a « rentre » dans b ; le multiple cherché est ce quotient multiplié par a :
def plus_grand_multiple(a, b):
return (b // a) * aExemple : pour a = 7 et b = 50, 50 // 7 vaut 7 (car 7 × 7 = 49 ≤ 50 < 56), et la fonction renvoie 49. Autre écriture équivalente : b - b % a, puisque 50 − 50 % 7 = 50 − 1 = 49.
Cas limites : si b est déjà un multiple de a, par exemple a = 7 et b = 49, 49 // 7 * 7 vaut 49, le nombre lui-même ; si b < a, le quotient vaut 0 et la fonction renvoie 0, qui est bien le plus grand multiple de a inférieur ou égal à b.
L'hypothèse a > 0 évite une division par zéro et garantit le sens du quotient entier.