From 78fbf8dbcf39aa51cf682a8795d0d0c3be6034c6 Mon Sep 17 00:00:00 2001 From: Charles Date: Fri, 16 Aug 2019 21:58:12 +0200 Subject: haskell problem 13 -> 18, 20 --- haskell/020-factorial_digit_sum.hs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 haskell/020-factorial_digit_sum.hs (limited to 'haskell/020-factorial_digit_sum.hs') 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) -- cgit