mercredi 13 août 2014

Calcul du PGCD de deux nombres entiers positifs.

Vous trouverez ci-dessous le programme qui calcule le PGCD de deux nombres entiers positifs non nuls en utilisant l'algorithme des soustractions que voici:

Tant que ( Y > 0 )
{
    Si ( X > Y ) Alors ( X = X - Y ) Sinon ( Y = Y - X) 
}
Retourne X

Le programme suivant est le plus minimaliste que l'on puisse écrire.

PGRM TOP
R001 LBL R
R002 X > Y ?
R003 GTO R007
R004 -
R005 LAST X
R006 GTO R010
R007 X<>Y
R008 -
R009 LAST X
R010 X > 0 ?
R011 GTO R002
R012 X<>Y
R013 RTN

Entrez Y puis entrez X, ou bien X puis Y (peu importe l'ordre de saisie) et lancez le programme en faisant XEQ R ENTER.
Le résultat est affiché sur la ligne basse de l'écran dans le registre X du stack.

Par exemple entrez 357 puis 561, le résultat sera 51.
Voici quelques autres exemples: PGCD(2001,78) = 3 ou bien PGCD(108,608) = 4.

Liens intéressants:
Algorithme des soustractions successives 1.
Algorithme des soustractions successives 2.

A bientôt :)

Aucun commentaire:

Enregistrer un commentaire