bonjour, j'ai un énorme soucis, je doit definir la fonction pgcd. je l'ai faite de cette manière:
elle marche pour des nombres qui ont plusieurs diviseurs. exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 (define (pgcd a b) (cond ((= a 0) b) ((= b 0) a) ((< a b) (pgcd b a)) ((and (< a 0) (< b 0) #t) (pgcd (* -1 a)(* -1 b))) ((and (< a 0) (> b 0) #t) (pgcd (* -1 a) b)) ((and (> a 0) (< b 0) #t) (pgcd a (* -1 b))) (else pgcd b (remainder a b))))
(pgcd 206 4) --> 2
mais elle ne marche plus pour les autres;
(pgcd 2 4) --> 0
quesqui ne fonctionne pas???
Partager