Bonsoir j'essaye d'écrire l'algorithme d'euclide étendu:
si x = 0, eucl(x, u, v, x , u , v ) = (x, u, v)
sinon, eucl(x, u, v, x , u , v ) = eucl(x , u , v , x − (x ÷ x ) ∗ x , u − (x ÷ x ) ∗ u , v − (x ÷ x ) ∗ v )
Voila le programme que j'ai écrit:
Lorsque je lance la commande (eucl 13 1 5 0 0 1) pour tester ma premiere condition, le prog me renvoie >5 alors que je devrait obtenir > 13 1 5
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 (define eucl (lambda (x u v x2 u2 v2) (cond ((= x2 0) x u v) (else eucl x2 u2 v2 (- x (* x2 (/ x x2))) (- u (* u2 (/ x x2))) (- v (* v2 (/ x x2)))))))
En faite il me renvoie la valeur de mon "v" alors que je voudrait les valeur de "x u v".
Comment renvoyer plusieurs valeurs à la fois?
Partager