Présentation de l'algorithme :
L'algorithme est basé sur les deux résultats suivants :

On procède par division euclidienne successive jusqu'à obtenir un reste nul.
Exemple :
PGCD(1071,1029)
=PGCD(1029,42) car 1071=1029*1+42
=PGCD(42,21) car 1029=42*24+21
=PGCD(21,0) car 42=21*2+0
=21

Code de l'algorithme :
VARIABLES
  A EST_DU_TYPE NOMBRE
  B EST_DU_TYPE NOMBRE
  R EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
  LIRE A
  LIRE B
  AFFICHER "PGCD de "
  AFFICHER A
  AFFICHER " et "
  AFFICHER B
  TANT_QUE (B!=0) FAIRE
    DEBUT_TANT_QUE
    R PREND_LA_VALEUR A%B
    A PREND_LA_VALEUR B
    B PREND_LA_VALEUR R
    AFFICHER "= PGCD de "
    AFFICHER A
    AFFICHER " et "
    AFFICHER B
    FIN_TANT_QUE
  AFFICHER "= "
  AFFICHER A
FIN_ALGORITHME

Fichier AlgoBox associé : pgcd_euclide.alg (faire un clic-droit et utiliser l'option "enregistrer sous" pour télécharger le fichier)

Tester l'algorithme :


(cliquer sur le bouton ci-dessus pour lancer ou relancer l'exécution de l'algorithme)
Remarque : si les messages "Algorithme lancé" et "Algorithme terminé" n'apparaissent pas au bout d'un moment dans la zone ci-dessous, c'est que l'algorithme contient une erreur.

Résultat :