Arithmétique

PGCD : algorithme d’Euclide

Énoncé

Saisir deux entiers A et B strictement positifs avec une saisie contrôlée. Calculer leur plus grand commun diviseur par divisions successives.

Exemples et cas limites

Saisissez ces valeurs dans la console pour vérifier votre résultat :

Entrée
A = 48
B = 18
Sortie attendue
6
Entrée
A = 12
B = 18
Sortie attendue
6
Entrée
A = -48
B = 18
A = 48
B = 18
Sortie attendue
6
Entrée
A = 0
B = 0
A = 12
B = 18
Sortie attendue
6

Code algorithmique

pgcd_euclide.algo
1algorithme pgcd_euclide
2debut
3 repeter
4 ecrire("A = ")
5 lire(a)
6 ecrire("B = ")
7 lire(b)
8 jusqua a > 0 et b > 0
9 // compléter le traitement demandé dans l’énoncé.
10fin

Méthode

  1. Redemander A et B jusqu’à obtenir A > 0 ET B > 0.
  2. Remplacer (A, B) par (B, A MOD B) jusqu’à B = 0.
À retenir :

A et B sont strictement positifs au départ. Pendant le calcul, tester B ≠ 0 avant MOD pour éviter une division par zéro. ≠ signifie « différent de ».

Comprendre la correction

Déroulement sur un exemple

  1. Avec A = 48 et B = 18, 48 MOD 18 = 12. On remplace le couple par (18, 12).
  2. 18 MOD 12 = 6, puis 12 MOD 6 = 0. Les couples deviennent (12, 6), puis (6, 0).
  3. B vaut 0 : le dernier diviseur non nul, A = 6, est le PGCD. Remplacer A par A MOD B conserve les diviseurs communs.

Erreurs à éviter

  • Calculez reste avant a ← b, sinon vous perdez l’ancienne valeur de A.
  • La sortie est A, pas B : B vaut 0 à la fin.
Consulter le guide de syntaxe algorithmique