PGCD de nombres entiers

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Article général Pour un article plus général, voir Plus grand commun diviseur.

Le PGCD de nombres entiers différents de zéro est, parmi les diviseurs communs à ces entiers, le plus grand d'entre eux. PGCD signifie plus grand commun diviseur.

Par exemple, les diviseurs positifs de 30 sont, dans l'ordre : 1, 2, 3, 5, 6, 10, 15 et 30. Ceux de 18 sont 1, 2, 3, 6, 9 et 18. Les diviseurs communs de 30 et 18 étant 1, 2, 3 et 6, leur PGCD est 6. Ce qui se note : PGCD(30 ; 18) = 6.

Les diviseurs communs à plusieurs entiers sont les diviseurs de leur PGCD. Connaître le PGCD de deux nombres entiers non nuls a et b permet de simplifier la fraction a/b. Il est possible de le déterminer par divers raisonnements, dont l'algorithme d'Euclide.

Notation[modifier | modifier le code]

Le PGCD de deux nombres entiers a et b est généralement noté PGCD(a ; b) ou pgcd(a ; b). On trouve parfois l'acronyme équivalent PGDC, mais PGCD est la version officielle[1].

En considérant que tout nombre entier est un diviseur de zéro (car 0 × b = 0 quel que soit b) il vient que, pour tout entier non nul b, PGCD(0 ; b) = PGCD(b ; 0) = b.

La définition usuelle ne permet pas de définir PGCD(0 ; 0) puisqu'il n'existe pas de plus grand diviseur de 0. On pose par convention : PGCD(0 ; 0) = 0.

PGCD(a ; b) est parfois noté ab. Cette notation fait référence aux ensembles ordonnés : tout diviseur commun à a et b divise leur PGCD.

Les anglophones le nomment greatest common divisor, noté gcd(a, b), ou highest common factor, noté hcf(a, b).

Propriétés[modifier | modifier le code]

Le PGCD peut être défini pour des nombres entiers naturels ou relatifs. Mais tout diviseur d'un nombre entier est également diviseur de son opposé. Les calculs et démonstrations sur le PGCD s'effectuent donc en général sur des nombres entiers positifs, l'extension aux négatifs étant immédiate.

Soient a, b, c trois entiers non nuls.

  • [2]
  • [3]
  • pgcd(a, b) × ppcm(a, b) = |ab|
  • , on peut étendre à un nombre arbitraire d'éléments.

Toute suite de Lucas xn = Un(P, Q) associée à des paramètres P, Q premiers entre eux vérifie : La démonstration est la même que dans le cas particulier de la suite de Fibonacci.

PGCD et autres diviseurs[modifier | modifier le code]

A priori, il faut connaître la liste des diviseurs communs de deux nombres pour pouvoir déterminer le PGCD. Mais l'inverse est également vrai. En effet, les diviseurs communs de deux nombres entiers sont exactement les diviseurs de leur PGCD. Par exemple, si le PGCD de deux nombres entiers a et b est 6, les diviseurs communs à a et b seront ceux de 6, soit : 1 ; 2 ; 3 ; 6 et leurs opposés.

La réciproque est en partie vraie : le seul nombre positif D qui vérifie les deux propriétés :

D divise a et b ;
tout entier qui divise a et b divise aussi D ;

est le PGCD de a et b.

Ces deux phrases sont parfois prises comme définition du PGCD, ce qui permet d'étendre à d'autres ensembles que celui des nombres entiers (voir l'article PGCD). Mais si on ôte l'adjectif positif, un autre nombre entier vérifie cette propriété : l'opposé du PGCD de a et b. Par exemple, deux nombres D vérifient

D divise 30 et 18 ;
tout entier qui divise 30 et 18 divise aussi D ;

sont 6 et -6.

Ceci montre que, si b est un diviseur de a, alors le PGCD de a et b est b.

PGCD et autres opérations[modifier | modifier le code]

Le PGCD de deux nombres entiers positifs a et b est lié avec leur PPCM (le plus petit de leurs multiples communs), par la relation

ab = PGCD(a;b)×PPCM(a;b).

Le PGCD est en partie compatible avec la multiplication :

pour tous nombres entiers non nuls a, b et k, PGCD(ka;kb) = k PGCD(a;b).

Mais il ne l'est pas avec l'addition. Par exemple, PGCD(9;12) = 3 mais, en ajoutant 2, PGCD(11;14) = 1, alors qu'en multipliant par 3 on obtient PGCD(27;36) = 9.

Cependant, il est possible de remplacer l'un de deux nombres a ou b par a+b sans changer le PGCD. Plus généralement, on peut ajouter ou retrancher à l'un des deux un multiple de l'autre. Plus formellement :

Théorème — Soient a, b, v trois entiers, alors PGCD(a;b)=PGCD(a+bv;b).

Cette propriété justifie l'algorithme d'Euclide, une méthode qui permet de déterminer le PGCD de deux nombres (voir plus bas).

Par contre, une combinaison linéaire quelconque de a et b (c'est-à-dire un nombre de la forme au+bv, où u et v sont des entiers) n'est pas forcément égale à PGCD(a;b), mais en est un multiple. Et, réciproquement, un nombre entier c peut s'écrire sous la forme au+bv si et seulement si c est un multiple de PGCD(a;b).

Nombres premiers entre eux[modifier | modifier le code]

Article détaillé : Nombres premiers entre eux.

Des nombres entiers sont dits premiers entre eux lorsqu'ils n'ont « rien en commun » du point de vue de la divisibilité, autrement dit, leur PGCD est égal à 1.

Une erreur classique consiste à croire que, si un nombre entier c divise un produit d'entier ab, alors il divise a ou b. Il n'en est rien, comme le montre l'exemple de 6, qui divise 9×8=72, mais ne divise ni 9 ni 8. Mais cela devient vrai si on ajoute l'hypothèse que c est premier avec l'un des deux nombres a ou b. Ce résultat est connu sous le nom de Théorème de Gauss et s'énonce ainsi :

Théorème de Gauss — Soient a, b et c trois nombres entiers tels que c divise ab et c est premier avec a. Alors c divise b.

Si deux nombres entiers a et b ont pour PGCD le nombre d, alors a/d et b/d sont des nombres entiers premiers entre eux.

Tout diviseur commun divise le PGCD[modifier | modifier le code]

Un entier n s'écrit de manière unique à l'ordre près des facteurs et au signe près comme un produit fini de nombres premiers. Le nombre de fois que l'entier premier p apparait dans cette écriture s'appelle la valuation p-adique de n, notée vp(n). Un entier m divise un entier n si et seulement si pour tout p, vp(m) ≤ vp(n).

De fait, le pgcd d'une famille (ai) est donné par :

où le produit porte sur l'ensemble des nombres premiers (presque tous les termes du produit, hormis une quantité finie, sont égaux à 1).

Tout diviseur commun à une famille d'entiers non tous nuls divise leur pgcd. Ce constat résulte immédiatement de l'écriture ci-dessus en produit de nombres premiers mais peut aussi se déduire de l'algorithme d'Euclide ou ses variantes :

Applications[modifier | modifier le code]

Simplification de fractions[modifier | modifier le code]

Une fraction irréductible est une fraction dans laquelle le numérateur et le dénominateur sont les plus proches possibles de 1. Cela revient à dire que le numérateur et le dénominateur sont premiers entre eux. La fraction irréductible égale à une fraction a/b donnée est celle dont le numérateur est et le dénominateur , où d = PGCD(a;b).

Exemple :

En sachant que PGCD(30;18)=6, puis en remarquant que et , on déduit que , cette dernière fraction étant irréductible.

Équations diophantiennes[modifier | modifier le code]

Article connexe : équation diophantienne.

Certaines équations diophantiennes (c'est-à-dire des équations dont les paramètres et les solutions cherchées sont des nombres entiers) se résolvent par une division par un PGCD afin de se ramener à une équation équivalente mettant en jeu des nombres premiers entre eux.

Ainsi l'équation diophantienne ax+by = c d'inconnues x et y admet une infinité de solutions si et seulement si c est un multiple du PGCD de a et b. Lorsque c n'est pas un multiple du PGCD de a et b, elle n'admet aucune solution entière. Ces résultats sont une conséquence du théorème de Bachet-Bézout. La méthode classique de résolution d'une telle équation consiste à diviser l'équation par le PGCD de a et b, puis, en s'appuyant sur le théorème de Gauss, résoudre la nouvelle équation obtenue, de la forme a'x+b'y = c', où a' et b' sont premiers entre eux.

Article détaillé : triplet pythagoricien.

Une autre équation diophantienne classique est la recherche des triplets pythagoriciens. Un triplet pythagoricien est la donné de trois nombres entiers x, y et z qui vérifient la relation de Pythagore : x2 + y2 = z2. Cela revient à chercher tous les triangles rectangles dont les longueurs des côtés sont des nombres entiers. L'étude de cette équation se ramène à la recherche des nombres x, y et z premiers entre eux : si x, y et z sont des solutions de l'équation et que d est leur PGCD, alors x/d, y/d et z/d sont aussi des solutions de l'équation.

Cryptographie[modifier | modifier le code]

Il n'est pas possible de déterminer a priori le nombre de diviseurs d'un nombre quelconque. Le système de codage RSA s'appuie sur la très grande difficulté qu'il y a, même avec un ordinateur très puissant, à trouver les diviseurs de certains nombres.

Détermination du PGCD[modifier | modifier le code]

Le calcul du PGCD est trivial lorsque l'un des nombres est premier (le PGCD est 1) ou lorsque l'un des nombres est multiple de l'autre (le PGCD est le plus petit des deux).

Recherche exhaustive[modifier | modifier le code]

Cette méthode est particulièrement adaptée pour les petits nombres ou les nombres qui ont beaucoup de petits diviseurs (comme 2, 3, 5, 11). En prenant les nombres entiers dans l'ordre, on teste pour chacun s'ils sont diviseurs communs à a et b. C'est-à-dire que l'on trouve un nombre k tel que a = ka′ et b = kb′, alors il suffit de calculer le PGCD de a′ et b′ car on a :

Exemple : pgcd(60,84). On voit que 60 et 84 sont multiples de 4 donc

Ensuite, comme 15 et 21 sont multiples de 3 on a

Or, Donc, .

Soustractions successives[modifier | modifier le code]

Article détaillé : Anthyphérèse.

Le PGCD de deux nombres a et b est aussi celui de a et de b - a. Ceci justifie la méthode des soustractions successives.

Cette méthode est particulièrement adaptée pour les nombres grands mais relativement proches. Supposons que a soit plus grand que b, on a :

En effet, pour tout diviseur d de b :

  • si a est multiple de d alors a – b également ;
  • réciproquement, si d divise a – b, il divise également (a – b) + b = a.
Exemple :

Déterminons le PGCD de 675 et 660. Il est également celui de 660 et . Or, en appliquant les critères de divisibilité par 3 et par 5, on voit que 15 divise 660. Donc PGCD(15;660) = PGCD(675;660) = 15.

Algorithme d'Euclide[modifier | modifier le code]

PGCD.png

L'algorithme d'Euclide utilise la division euclidienne. Étant donnés deux nombres entiers naturels a et b, la division euclidienne de a par b est la recherche des deux nombres q et r tels que :

  1. a = bq + r
  2. 0 ≤ r ≤ b-1

Le nombre r est appelé le reste de cette division.

L'algorithme d'Euclide s'appuie également sur deux propriétés du PGCD :

  1. le PGCD de a et b est égal au PGCD de b et r ;
  2. si b divise a, alors le PGCD de a et b est b.

L'algorithme consiste, pour déterminer le PGCD de deux nombres a et b, à effectuer la division euclidienne de a par b (on trouve alors un reste r1) puis la division euclidienne de b par r1 (on note le reste trouvé r2), puis celle de r1 par r2... Et ainsi de suite. La partie 2. de la définition de la division euclidienne assure que la suite r1, r2... est strictement décroissante et finira par s'annuler. Le PGCD de a et b est le dernier reste non nul de cette suite.

Exemple :

Calculons le PGCD de 1071 et de 1029 à l'aide de l'algorithme d'Euclide.

La division euclidienne de 1071 et 1029 donne :

1071 = 1029 × 1 + 42

Donc PGCD(1071;1029) = PGCD(1029;42). On effectue la division euclidienne de 1029 par 42.

1029 = 42 × 24 + 21

Ainsi, PGCD(1029;42) = PGCD(42;21). On poursuit l'algorithme :

42 = 21 × 2 + 0

Cela signifie que 21 divise 42, donc PGCD(42;21) = 21. En « remontant » les égalités de PGCD ci-dessous, il vient :

21 = PGCD(42;21) = PGCD(1029;42) = PGCD(1071;1029)

Donc PGCD(1071;1029) = 21, qui est le dernier reste différent de 0 donné par l'algorithme.

En informatique, l'algorithme d'Euclide peut être programmé de façon récursive, avec une fonction qui s'appelle elle-même. En pseudo langage, si on dispose d'une fonction reste qui renvoie le reste de la division euclidienne d'un nombre par un autre, la fonction PGCD s'écrira :

fonction pgcd(a, b){
si b est égal à 0 renvoyer a
sinon renvoyer pgcd(b, reste(a, b))
}

Décomposition en facteurs premiers[modifier | modifier le code]

Tout nombre entier s'écrit de façon unique comme produit de nombres premiers.


La première étape de cette méthode consiste à décomposer a et b en produits de nombres premiers. Il est alors très facile de trouver le PGCD.

Si et où tous les exposants vérifient et alors

.

Connaissant les décompositions en facteurs premiers de deux nombres entiers a et b, la décomposition en facteurs premiers de leur PGCD est constituée des mêmes facteurs que ceux de a et b, en prenant pour chaque facteur l'exposant minimal qui apparaît à la fois dans a et b : le plus petit exposant commun à a et b.

Exemple :

Avec les décompositions en facteurs premiers

et

On remarque que les facteurs premiers communs sont 2 et 3. Le nombre 2 apparaît avec les exposant 3 et 4, donc son plus petit exposant commun est 3. Pour 3, le plus petit exposant commun est 1 (puisque ). Le PGCD de 360 et 48 est donc .

Enseignement en France[modifier | modifier le code]

La notion de PGCD de nombres entiers est traitée en classes de troisième et terminale scientifique (enseignement de spécialité mathématiques) en France. Par conséquent, les manuels scolaires de ces classes peuvent être consultés pour étudier ce sujet.

Notes et références[modifier | modifier le code]

  1. « Programmes du collège : Programmes de l’enseignement de mathématiques » [PDF], sur education.gouv.fr, Ministère de l'Éducation nationale,‎ (consulté le 25 septembre 2016) : « Connaître et utiliser un algorithme donnant le PGCD de deux entiers (algorithme des soustractions, algorithme d’Euclide) », p. 35.
  2. Car l'ensemble des diviseurs communs est le même pour les deux couples. Cette propriété fonde l'algorithme d'Euclide.
  3. Pour une démonstration, voir par exemple Propriétés du PGCD sur Wikiversité.
  4. Inspirée de Daniel Perrin, « Une précision sur le pgcd ».