no save
Assistance
Achat
News

Forum | programmation
somme des chiffres d'un nombre
marina, le mar. 12 févr. 2008 à 22:17:22
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


lewis34
févr. 08
Suivant
REPONSES
lewis34
févr. 08
fiddy
févr. 08
marina
févr. 08
fiddy
févr. 08
marina
févr. 08
fiddy
févr. 08
marina
févr. 08
Version Web
Réalisé par RedShift
no save