théorème
(1)
(2)
(3) Si et
sont deux entiers tels que
alors
Prouvons le (3):
soit un diviseur commun à
et à
alors
et
,
si
alors
et
est un diviseur commun à
et à
. Réciproquement, si
est un diviseur commun à
et
alors
est aussi un diviseur
commun à
et
.
De ce théorème on peut déduire le programme suivant pour calculer le
pgcd de deux nombres:
m:=a; n:=b; while m != n do if m > n then m := m - n fi if m < n then n := n - m fi od
En effet, à chaque itération, la valeur de reste la même
(d'après le théorème) aussi si le programme termine, on a
et
d'après le théorème précédent dans ce cas le
de
et
est
.
Ce programme termine puisqu'à chaque itération, la différence
décroît strictement, il y aura donc au plus
itérations.
Comme on le voit la terminaison est traitée différemment.