Ch.02 PGCD et applications
I- Objectifs du chapitre
Calculer le Pgcd de deux nombres, montrer que deux nombres sont premiers entre eux.
Utiliser le fait que deux nombres sont premiers entre eux (Th´eor`emes de B´ezout et Gauss)
II- Pr´e-requis
Diviseurs, Pgcd (de 3`eme)
III- Cours
1) Plus grand commun diviseur
Parmi les diviseurs communs de deux entiers aet b(ceux qui divisent `a la fois aet b), le plus
grand est appel´e pgcd(a;b)
efinition 1
Soit a=bq +rla division euclidienne de apar b.
Alors pgcd(a;b) = pgcd(b;r)
Propri´et´e 2 (pgcd et division euclidienne (p37))
La propri´et´e pr´ec´edente permet de d´eterminer le pgcd de deux nombres en effectuant des divisions
euclidiennes successives :
On consid`ere deux entiers naturels ab, et on d´efinit la suite (rn) par :
r0=b
r1est le reste de la division euclidienne de apar b
pour n1,
Si rn= 0, alors rn+1 = 0
Si rn6= 0, alors rn+1 est le reste de la division euclidienne de rn1par rn.
Alors il existe un rang pau-del`a duquel tous les termes de la suite (rn) sont nuls, et on a
pgcd(a;b) = rp.
M´ethode 3 (Algorithme d’Euclide)
Savoir-Faire : (1 p 41 )
D´eterminer le pgcd de 36 et 128.
Pour tous a, b, k entiers, on a :
pgcd(ka;kb) = k×pgcd(a;b)
Propri´et´e 4 (simplifications de calculs)
2) Entiers premiers entre eux
Lorsque le pgcd de deux nombres vaut 1, on dit qu’ils sont premiers entre eux.
Ils n’ont alors aucun diviseur commun autre que 1
Propri´et´e 5
Remarque :
Si aet bsont premiers entre eux, alors la fraction a
best irr´eductible.
3) Th´eor`eme de ezout (p39)
Soit gle pgcd de eux entiers aet b.
Alors il existe deux entiers uet vtels que au +bv =g.
Propri´et´e 6 (Combinaison lin´eaire et pgcd)
Deux entiers aet bsont premiers entre eux si, et seulement si, il existe deux entiers uet vtels
que au +bv = 1.
Propri´et´e 7 (th´eor`eme de B´ezout)
Remarque :
Attention, la premi`ere propri´et´e est une ´equivalence et la seconde est une implication ;
Par exemple, 3×4 + 5 ×8 = 52 alors que 52 n’est pas le pgcd de 3 et 5
Savoir-Faire : (D´eterminer les coefficients de B´ezout)
Activit´e 46 p 49
4) Th´eor`eme de Gauss (p40)
Soient a, b, c trois entiers non nuls.
Si adivise bc et que aet bsont premiers entre eux, alors adivise c.
Propri´et´e 8
Savoir-Faire : ( ´
Equation au =bv)
R´esoudre dans Z2l’´equation (E) 34u= 22v
Savoir-Faire : ( ´
Equations diophantiennes)
Ex 26 p 44, Act 48 p 50, 51
IV- D´emonstration(s)
Si gdivise aet b, alors il divise tout combinaison lin´eaire de aet b(du type au +bv avec uet vdeux en
gdivise adonc il existe un entier ktel que a=kg ;
gdivise bdonc il existe un entier ktel que b=kg;
au +bv =kgu +kgv = (ku +kv)g
donc gdivise au +bv.
Les diviseurs communs `a deux nombres sont les diviseurs de leur pgcd.
D’apr`es la d´emonstration pr´ec´edente, on peut conclure dans l’algorithme d’Euclide, que D(a;b) =
D(rn; 0) = D(rn), o`u rnest le dernier reste non nul de l’algorithme, c’est-`a-dire rn=pgcd(a;b).
D’o`u le r´esultat D(a;b) = D(pgcd(a;b)).
pgcd(ka;kb) = k×pgcd(a;b)
Soit g=pgcd(a;b) et G=pgcd(ka;kb). On souhaite montrer que G=kg.
gdivise aet b, donc kg divise ka et kb, donc kg divise G(cf d´emonstration pr´ec´edente).
Donc il existe un entier ltel que G=lkg
lkg divise ka et kb donc lg divise aet b, donc lg divise g.
Donc lg g, soit l1, c’est-`a-dire l= 1.
Donc G=kg, ce qui prouve le r´esultat.
Propri´et´e 6
On va consid´erer l’ensemble des combinaisons lin´eaires non nulles de aet b(E={am +bn, m
Z, n Z}, et leur plus petit ´el´ement d, qui s’´ecrit d=au +bv.
Puis, on va montrer que d=pgcd(a;b) en montrant successivement que dpgcd(a;b) puis
pgcd(a;b)d.
Montrons que pgcd(a;b)d:
Comme le pgcd(a;b) divise aet b, il divise toute combinaison lin´eaire de aet b, donc il divise
en particulier d, ce qui prouve que pgcd(a;b)d.
Montrons que dpgcd(a;b) :
La division euclidienne de apar ddonne deux nombres entiers qet 0 r < d tels que a=dq+r.
On va prouver que rvaut 0, et donc que ddivise a:
On a
r=adq =a(au +bv) = a(1 u) + b(v),
Donc rest une combinaison lin´eaire de aet b, donc soit rest nul, soit rappartient `a E.
Or, comme r < d et que dest le plus petit ´el´ement de E, alors rne peut appartenir `a Eet
donc on a r= 0.
Donc a=dq, et ddivise a.
On montre de la mˆeme mani`ere que ddivise b, et on en d´eduit que ddivise pgcd(a;b).
Ce qui prouve que dpgcd(a;b)
Les deux r´esultats prouvent que d=pgcd(a;b) et qu’il existe une combinaison lin´eaire au +bv ´egale
au pgcd(a;b).
Th´eor`eme de Gauss
On appliquera le th´eor`eme de B´ezout pour prouver le th´eor`eme de Gauss.
adivise bc donc il existe un entier ktel que bc =ka.
Puisque aet bsont premiers entre eux, alors il existe, d’apr`es le th´eor`eme de B´ezout, deux entiers u
et vtels que au +bv = 1.
En multipliant toute l’´egalit´e par c, on obtient auc +bvc =cet en rempla¸cant bc parka, on obtient :
auc +kav =c, soit a(uc +kv) = c, ce qui prouve que adivise c.
V- Exercices r´esolus
Exercice 1 p 41
128 = 36 ×3 + 20
36 = 20 ×1 + 16
20 = 16 ×1 + 4
16 = 4 ×4 + 0
Donc pgcd(36; 128) = 4.
Exercice 26 p 44
a. (1; 1) est solution.
b. En simplifiant l’´egalit´e par 6, on obtient d’abord 2x+ 3y= 5, et donc 2x+ 3y= 2 ×1 + 3 ×1.
On factorise par 2 et par 3 pour obtenir 2(x1) = 3(1 y).
c. 3 divise 2(x1), et comme 2 et 3 sont premiers entre eux, alors d’apr`es le th´eor`eme de Gauss,
3 divise x1x1 s’´ecrit x1 = 3kavec kZ, soit x= 1 + 3k.
En rempla¸cant xpar 1 + 3kdans l’´equation, on trouve 2k= 1 y, soit y= 1 2k.
On montre ´egalement que tout couple (1 + 3k; 1 2k) est solution de l’´equation (E).
D’o`u l’ensemble solution S={(1 + 3k; 1 2k); kZ}.
R´esoudre dans Z2l’´equation (E) 34u= 22v
pgcd(34; 22) = 2 donc l’´equation s’´ecrit 17u= 11v
11 divise 17u, donc comme 11 et 17 sont premiers entre eux, d’apr`es le th´eor`eme de Gauss, 11
divise u, et us’´ecrit 11k, avec kZ.
On montre de mˆeme que vs’´ecrit 17k, et que tout couple (11k; 17k) avec kZest solution de
l’´equation.
D’o`u l’ensemble solution S={(11k; 17k); kZ}.
VI- Algorithme
Coefficients de B´ezout (Python et traduction en fracais
a=int(input(”a= ?”))
b=int(input(”b= ?”))
r0=a
r1=b
u0=1
u1=0
v0=0
v1=1
u=0
v=0
while r1 !=0 :
q=r0//r1
r=r0
u=u0-u1*(r0//r1)
v=v0-v1*(r0//r1)
print(u,v)
r0=r1
r1=r
u0=u1
u1=u
v0=v1
v1=v
print(”r´esultat : ”,a, ” x ”, u0,
” + ”,b, ” x ”,v0, ” = 1”)
Saisir a
Saisir b
r0prend la valeur a
r1prend la valeur b
u0prend la valeur 1
u1prend la valeur 0
v0prend la valeur 0
v1prend la valeur 1
uprend la valeur 0
vprend la valeur 0
Tant que r16= 0, Faire :
qest le quotient de la division de r0par r1
rest le reste de la division de r0par r1
uprend la valeur u0u1×q
vprend la valeur v0v1×q
Afficher uet v
r0prend la valeur r1
r1prend la valeur r
u0prend la valeur u1
u1prend la valeur u
v0prend la valeur v1
v1prend la valeur v
Afficher : ”r´esultat : a×u0+b×v0= 1”
1 / 5 100%