Un mathématicien ce n’est pas quelqu’un qui passe son temps à faire des calculs, c’est quelqu’un qui trouve des techniques pour ne pas avoir à les faire.
Anonyme
Z={…,−3,−2,−1,0,1,2,3,…} est l'ensemble des entiers relatifs.
Dans ce cours, on généralise à Z les notions de divisibilité, de division euclidienne, de PGCD. On découvre l'algorithme d'Euclide.
Soit a,b∈Z, on dit que a divise b, et on note a∣b,
s'il existe un entier k∈Z tel que b=ak.
Dans ce cas, b est un multiple de a.
a∤b signifie : a ne divise pas b.
La définition est similaire à celle vue pour N∗.
Soient a,b,c trois entiers relatifs.
- 1∣a ; ( 1 est toujours un diviseur, de tout entier. )
- Si a∣1, alors a=±1 ; ( ±1 sont les seuls inversibles de Z. )
- Si a∣b, alors ±a∣±b ; ( Le signe n'a pas d'importance. )
- a∣0 ; ( Zéro est multiple de tout entier ; tous les entiers divisent zéro. )
- Si 0∣a, alors a=0 ; ( Autrement dit : zéro ne divise que zéro. )
- a∣a ; (réflexivité)
- Si a∣b et b∣c, alors a∣c ; (transitivité)
- Si a∣b et a∣c, alors a∣b+c ;
- Si a∣b, alors a∣bc et ac∣bc;
- Si ac∣bc avec c=0, alors a∣b ;
- Si a∣b avec b=0, alors 0<∣a∣⩽∣b∣ ;
- Si a∣b et b∣a , alors a=±b.
Remarque : on a écrit que 0 divise 0, cependant 0 divisé par 0 n'est pas défini... Nuance.
Rappel : ∣a∣ signifie valeur absolue de a. Exemple ∣+7∣=7, et ∣−7∣=7. De manière générale ∣x∣=x si est positif, et ∣x∣=−x si est négatif. Ou alors ∣x∣=max(x,−x).
Une propriété très utile
Avec a,b,c,u,v∈Z,
- si a∣b et a∣c,
- alors a∣ub+vc.
On dit aussi que si a divise b et c, alors a divise toute combinaison linéaire de b et c.
Preuve : On a : b=k1a, et c=k2a, avec k1,k2∈Z, ainsi
ub+vc=uk1a+vk2a=(uk1+vk2)a, avec (uk1+vk2)∈Z
On conclut que : a∣ub+vc
Pour a,b∈Z, avec b=0, ∃!q,r∈Z, tel que a=bq+r, et 0⩽r<∣b∣.
⚠️ Attention, avec Python et divmod ou %, si b<0, le reste r vérifie alors b<r⩽0.
Mais on a toujours a=bq+r.
Avec d'autres langages de programmation, il faudra vérifier la règle !
for b in [+3, -3]:
for a in [-13, -12, +12, +13]:
q, r = divmod(a, b)
q, r = a//b, a%b
print(a, "divisé par", b, "=> quotient :", q, "; reste :", r)
print("Vérification :", a, "=", str(b)+"*"+str(q), "+", r, end=" et ")
if b>0:
print("0 <=", r, "<", b)
else:
print(b, "<", r, "<= 0")
print()
-13 divisé par 3 => quotient : -5 ; reste : 2
Vérification : -13 = 3*-5 + 2 et 0 <= 2 < 3
-12 divisé par 3 => quotient : -4 ; reste : 0
Vérification : -12 = 3*-4 + 0 et 0 <= 0 < 3
12 divisé par 3 => quotient : 4 ; reste : 0
Vérification : 12 = 3*4 + 0 et 0 <= 0 < 3
13 divisé par 3 => quotient : 4 ; reste : 1
Vérification : 13 = 3*4 + 1 et 0 <= 1 < 3
-13 divisé par -3 => quotient : 4 ; reste : -1
Vérification : -13 = -3*4 + -1 et -3 < -1 <= 0
-12 divisé par -3 => quotient : 4 ; reste : 0
Vérification : -12 = -3*4 + 0 et -3 < 0 <= 0
12 divisé par -3 => quotient : -4 ; reste : 0
Vérification : 12 = -3*-4 + 0 et -3 < 0 <= 0
13 divisé par -3 => quotient : -5 ; reste : -2
Vérification : 13 = -3*-5 + -2 et -3 < -2 <= 0
a∣b si et seulement si b=0 ou alors a=0 et le reste de la division euclidienne de b par a est 0.
Pour tout entier a, on note D(a) l'ensemble des diviseurs de a.
D(a)={k∈Z tels que k∣a}
Par exemple :
D(24)={±1,±2,±3,±4,±6,±8,±12,±24}
On a toujours :
- ±1,±a∈D(a) ;
- D(0)=Z ;
- Si a=0, alors D(a)⊆[[−∣a∣..∣a∣]].
Soient a,b∈Z, dont un non nul au moins, on appelle PGCD de a et b (Plus Grand Commun Diviseur), et on note a∧b, le plus grand entier divisant à la fois a et b.
⚠️ Attention : On étend cette définition en posant 0∧0=0 ; mais cela traduit toujours que tous les entiers divisent 0. Dans ce cas seul, cela ne traduit pas que 0 est le plus grand diviseur commun à 0 et 0 !!!
Pour a,b∈Z, on a :
- a∧b=b∧a ;
- a∧b=±a∧±b ;
- a∧0=0∧a=∣a∣ ;
- a∧b=0⟺a=b=0 ;
- a∧1=1.
On peut bien évidemment utiliser les méthodes étudiées sur N∗.
On a vu comment calculer le PGCD de deux entiers ayant connaissance de leur décomposition en facteurs premiers, mais cette méthode est lente pour de grands entiers. L'algorithme d'Euclide est une méthode efficace.
On souhaite calculer PGCD(323,187).
divmod(323,187)=(1,136) ; On continue avec 187 et 136.
divmod(187,136)=(1,51) ; On continue avec 136 et 51.
divmod(136,51)=(2,34) ; On continue avec 51 et 34.
divmod(51,34)=(1,17) ; On continue avec 34 et 17.
divmod(34,17)=(2,0) ; Le reste est nul, le dernier diviseur est 17.
D'après l'algorithme d'Euclide, PGCD(323,187)=17.
Preuve :
- L'algorithme termine.
Le diviseur suivant à la prochaine étape est le reste de la division actuelle, or on sait que le reste est strictement inférieur au diviseur, ce qui nous donne une suite strictement décroissante d'entiers naturels. Nécessairement elle arrive à zéro en un nombre fini d'étapes.
- L'algorithme est correct.
Soit a⩾b.
Si b=0, alors PGCD(a,b)=a. C'est fini.
Sinon, on fait la division euclidienne de a par b.
a=bq+r, ainsi r=a−bq, et d'après la dernière propriété (utile) de I],
on déduit que si d∣a et d∣b, alors d∣r,
mais aussi que si d∣b et d∣r, alors d∣a.
Dit autrement : les diviseurs communs à a et b sont les mêmes que ceux à b et r.
En particulier ils ont le même PGCD. Ce qui justifie l'algorithme et prouve même un peu plus :
Les diviseurs communs à a et b, sont les diviseurs de leur PGCD.
Une fraction ba peut être simplifiée au maximum par le PGCD(a,b), elle devient alors irréductible. C'est la bonne méthode à utiliser.
Simplifions A=6539.
- 65÷39→(q=1,r=26)
- 39÷26→(q=1,r=13)
- 26÷13→(q=2,r=0) ; ce reste est nul ; le dernier diviseur était 13, d'après l'algorithme d'Euclide c'est le PGCD(65,39).
- On simplifie la fraction par 13.
- A=5×133×13
- A=53 est irréductible.
Pour additionner deux fractions, on doit les mettre au même dénominateur. Une méthode consiste à utiliser le PPCM, qui se calcule... avec le PGCD.
Calculons B=6011+8417.
- 84÷60→(q=1,r=24)
- 60÷24→(q=2,r=12)
- 24÷12→(q=2,r=0) ; ce reste est nul ; le dernier diviseur était 12, d'après l'algorithme d'Euclide c'est le PGCD(60,84).
- B=5×1211+7×1217
- B=5×12×711×7+7×12×517×5 ; on multiplie en haut et en bas.
- B=5×12×777+85 ; on ne calcule pas le dénominateur, une forme plutôt factorisée pourrait être plus utile pour simplifier.
- B=5×12×7162 ; on voit facilement qu'on ne peut pas simplifier par 5, ni par 7, mais plutôt par des facteurs premiers de 12.
- B=5×6×2×76×27
- B=5×2×733 ; on peut justifier que la fraction est irréductible, avec les décompositions en facteurs premiers
- B=7027 est irréductible.
Un philatéliste possède 1631 timbres français et 932 timbres étrangers. Il souhaite vendre toute sa collection en réalisant des lots identiques, c'est à dire comportant le même nombre de timbres français et le même nombre de timbres étrangers.
- Calculer le nombre maximum de lots qu'il pourra réaliser.
- Combien y-aura-t-il, dans ce cas, de timbres français et étrangers par lot ?
Réponse : Les lots sont identiques, donc le nombre de lot est un diviseur de 1631, mais aussi de 932, il en veut le maximum, donc le nombre de lots est le PGCD(1631,932)...