diff options
Diffstat (limited to 'haskell/020-factorial_digit_sum.hs')
| -rw-r--r-- | haskell/020-factorial_digit_sum.hs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/haskell/020-factorial_digit_sum.hs b/haskell/020-factorial_digit_sum.hs new file mode 100644 index 0000000..cbc404a --- /dev/null +++ b/haskell/020-factorial_digit_sum.hs @@ -0,0 +1,19 @@ +-- Factorial digit sum +-- +-- Problem 20 +-- n! means n × (n − 1) × ... × 3 × 2 × 1 +-- +-- For example, 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800, +-- and the sum of the digits in the number 10! is 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27. +-- +-- Find the sum of the digits in the number 100! + + +import Data.Char + +main = print (sum [ord x - ord '0' | x <- show $ factorial' 100]) + +factorial' :: Integer -> Integer +factorial' 0 = 0 +factorial' 1 = 1 +factorial' n = n * factorial' (n - 1) |
