Arithmétique

PGCD par soustractions

Énoncé

Lire deux entiers strictement positifs. Calculer leur PGCD en soustrayant le plus petit du plus grand.

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 = 7
B = 7
Sortie attendue
7
Entrée
A = 0
B = 8
A = 48
B = 18
Sortie attendue
6

Code algorithmique

pgcd_soustractions.algo
1algorithme pgcd_soustractions
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. Tant que les valeurs diffèrent, réduire la plus grande.
  2. Quand elles sont égales, cette valeur est le PGCD.
À retenir :

Zéro est refusé : soustraire zéro ferait tourner la boucle indéfiniment. La méthode d’Euclide est plus rapide pour les grands nombres.

Comprendre la correction

Déroulement sur un exemple

  1. Avec (48, 18), on soustrait 18 à 48 et on obtient (30, 18), puis (12, 18).
  2. On réduit ensuite la plus grande valeur : (12, 6), puis (6, 6).
  3. Les valeurs sont égales : le PGCD vaut 6. Soustraire l’un des nombres à l’autre conserve leurs diviseurs communs.

Erreurs à éviter

  • Soustrayez le plus petit du plus grand pour conserver des valeurs strictement positives.
  • Ne poursuivez pas quand A = B : la soustraction suivante créerait un zéro.
Consulter le guide de syntaxe algorithmique