aboutsummaryrefslogtreecommitdiff
path: root/haskell/020-factorial_digit_sum.hs
diff options
context:
space:
mode:
Diffstat (limited to 'haskell/020-factorial_digit_sum.hs')
-rw-r--r--haskell/020-factorial_digit_sum.hs19
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)