Add sum digits

This commit is contained in:
Pal Kerecsenyi 2024-05-08 10:51:04 +01:00
parent 3aeae3617e
commit aeefdd2695
Signed by: palk
GPG Key ID: 6891661E25394C2C

15
sum_digits.hs Normal file
View File

@ -0,0 +1,15 @@
import Data.Char (digitToInt, isDigit)
sumDigitsRecur :: String -> Int
sumDigitsRecur [] = 0
sumDigitsRecur (x : xs) =
if isDigit x
then
digitToInt x + sumDigitsRecur xs
else sumDigitsRecur xs
sumDigitsListComp :: String -> Int
sumDigitsListComp i = sum [if isDigit x then digitToInt x else 0 | x <- i]
sumDigitsMapFilterFold :: String -> Int
sumDigitsMapFilterFold i = foldr (+) 0 (map digitToInt (filter isDigit i))