
Exercice 48
Écrire une fonction en python qui prends en arguments deux nombres entiers a et b et qui renvoie un couple d'entiers formé par:
- Le quotient q de la division euclidienne de a par b (sans utiliser l’opérateur // )
- Le reste r de la division euclidienne de a par b (sans utiliser l’opérateur % )
Solution
# coding: utf-8
# Création de la fonction quotient():
def quotient(a,b):
q = 1
if a < b :
return 0
else:
while ( b*q < a):
q = q + 1
return (q-1 , a - b*(q-1))
# Test de la fonction quotient
print("Le quotien et le reste de la division euclidienne de 19 par 4 est (q , r) = ", quotient(19,4))
# Affiche: Le quotien et le reste de la division euclidienne de 19 par 4 est (q , r) = (4, 3)
Younes Derfoufi
CRMEF OUJDA
Post Views: 5 378
Bonjour Mr,
S’il vous j’ai pas bien compris pourquoi on a mis while (b*Q<a) pourquoi b*Q?
Bonjour Joachin27, on souhaite trouver le couple (q , r) qui vérifie: a = b*q + r avec r positif ou nul et inférieur à b pour cela on débute avec q = 1 et on l’incrémente à chaque fois que b*q < a et la boucle dans ce cas s’arrête à la valeur maximale pour laquelle b*q < a et qui sera donc le quotient de a par b. Pour bien comprendre essaye de voir la démonstration de l’existence du couple (q , r)