diff --git a/Project Euler/Problem 20/problem20_sol1.rb b/Project Euler/Problem 20/problem20_sol1.rb new file mode 100644 index 0000000..d144ad9 --- /dev/null +++ b/Project Euler/Problem 20/problem20_sol1.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +# n! means n x (n - 1) x ... x 3 x 2 x 1 + +# For example, 10! = 10 x 9 x ... x 3 x 2 x 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! + +# method to calculate factorial of a number +def factorial(number) + number.downto(1).reduce(:*) +end + +# fetch digits of factorial of `number` and find +# sum of all those digits, and prints the result on the console +number = 100 +puts factorial(number).digits.sum