Bonjour, je cherche à écrire une fonction en scheme qui calcule la somme des chiffres d'un nombre , par exemple si j'ai :
(somme-chiffres 546) ça doit me donner 15 (5+4+6) .
Voici le code que j'ai écrit :
(define (somme-chiffres x)
(if (= x 0)
0
(if (not (= (somme-chiffres (quotient x 10)) 0))
(+ (modulo x 10))
0
)))
si x vaut 0 on renvoit 0
si quotient du nombre par 10 est différent de 0 , on fait l'addition du modulo du nombre par 10
546 / 10 = 54 , modulo 6
54/10 5 , modulo 4 , on a 6+4
mais ma fonction renvoie tjs 0 , c'est du au fait que à la fin le quotient vaut 0 et j'ai mis que ça doit renvoyer 0 , quelqu'un aurait il une idée pour corriger cela ?
merci Configuration: Windows XP
Firefox 2.0.0.12

