128 Chapitre 7 – Programmes d’arithm´etique
B->A W->U X->V
R->B S->W T->X
ftantque
r´esultat {U, V, A}
ffonction
7.2.2 Version it´erative avec les listes
On peut simplifier l’´ecriture de l’algorithme ci-dessus en utilisant
moins de variables : pour cela on utilise des listes LA LB LR pour
m´emoriser les triplets {U, V, A}{W, X, B} et {S, T, R}. Ceci
est tr`es commode car les calculatrices savent ajouter des listes de
mˆeme longueur (en ajoutant les ´el´ements de mˆeme indice) et savent
aussi multiplier une liste par un nombre (en multipliant chacun des
´el´ements de la liste par ce nombre).
fonction Bezout (A,B)
local LA LB LR
{1, 0, A}->LA
{0, 1, B}->LB
tant que LB[3] 6= 0 faire
LA-LB*E(LA[3]/LB[3])->LR
LB->LA
LR->LB
ftantque
r´esultat LA
ffonction
7.2.3 Version r´ecursive avec les listes
On peut d´efinir r´ecursivement la fonction Bezout par :
Bezout(A, 0) = {1, 0,A}
Si B 6= 0 il faut d´efinir Bezout(A, B) en fonction de Bezout(B,R)
lorsque
R = A − B × Q et Q = E(A/B).
On a :
Bezout(B,R)=LT = {W, X, pgcd(B,R)}
avec W × B + X × R = pgcd(B,R)
Comentários a estes Manuais