Haskell : Fonction sommeChiffres
Correction :
Soit n = c0c1 . . . ck :
1. Trois cas se présentent :
— si n < 0, alors la solution (par défaut) est 0.
— si k = 0, c.-à-d. 0 ≤ n < 10, alors la solution est n.
— si k > 0, c.-à-d. n ≥ 10, alors c0 +c1 +· · ·+c(k−1) est un sous-problème de même nature. Il s’agit de calculer la somme des chiffres de |n/10|.
2. Si l’on suppose que sommeChiffres(|n/10|) est résolu, alors il suffit de faire (n mod 10) + sommeChiffres(|n/10|) pour calculer sommeChiffres(n).
Nous avons donc :
sommeChiffres :: Integer -> Integer
sommeChiffres n
| n < 0 = 0
| n < 10 = n
| otherwise = ( n ‘mod ‘ 10) + sommeChiffres ( n ‘div ‘ 10)
Si vous avez trouvé les exercices corrigés en Haskell de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !
Contact WhatsApp : +237 658395978 | Réaliser Par Joël_Yk
Ajouter un commentaire