Écrire des algorithmes sur les multiples et les diviseurs - Exercice 1

10 min
15
On considère la fonction Python ci-dessous.
Question 1

Que renvoie est_multiple(91, 7) ? Justifier.

Correction
  • En Python, a % b donne le reste de la division euclidienne de aa par bb, et a // b donne le quotient.
  • Ainsi, le test a % b == 0 vaut True lorsque aa est un multiple de bb, et False sinon.
La division euclidienne de 9191 par 77 donne 91=7×13+091=7\times 13+0 . Le reste vaut 00 , donc 91 % 7 vaut 00 et le test 91 % 7 == 0 est vrai.
est_multiple(91, 7) renvoie True : 9191 est un multiple de 77.
Question 2

Que renvoie est_multiple(100, 7) ?

Correction
  • En Python, a % b donne le reste de la division euclidienne de aa par bb, et a // b donne le quotient.
  • Ainsi, le test a % b == 0 vaut True lorsque aa est un multiple de bb, et False sinon.
La division euclidienne de 100100 par 77 donne 100=7×14+2100=7\times 14+2 . Le reste vaut 22 , donc le test 100 % 7 == 0 est faux.
est_multiple(100, 7) renvoie False : 100100 n'est pas un multiple de 77.
Question 3

Que renvoie est_multiple(7, 91) ? Interpréter ce résultat.

Correction
  • En Python, a % b donne le reste de la division euclidienne de aa par bb, et a // b donne le quotient.
  • Ainsi, le test a % b == 0 vaut True lorsque aa est un multiple de bb, et False sinon.
La division euclidienne de 77 par 9191 donne 7=91×0+77=91\times 0+7 . Le reste vaut 77 , donc le test 7 % 91 == 0 est faux.
est_multiple(7, 91) renvoie False.

En effet, 77 n'est pas un multiple de 9191 : c'est au contraire un diviseur de 9191 . L’ordre des arguments compte.\red{\text{L'ordre des arguments compte.}}
Question 4

Écrire une fonction est_diviseur(d, n) qui renvoie True si dd est un diviseur de nn, et False sinon.

Correction
  • En Python, a % b donne le reste de la division euclidienne de aa par bb, et a // b donne le quotient.
  • Ainsi, le test a % b == 0 vaut True lorsque aa est un multiple de bb, et False sinon.
dd est un diviseur de nn lorsque nn est un multiple de dd , c'est-à-dire lorsque le reste de la division euclidienne de nn par dd est nul.
Le test n % d == 0 vaut directement True ou False : on peut renvoyer sa valeur sans écrire de if.

Signaler une erreur

Aide-nous à améliorer nos contenus en signalant les erreurs ou problèmes que tu penses avoir trouvés.

Connecte-toi ou crée un compte pour signaler une erreur.