# 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!

# Really trivial

class Integer
  def factorial
    (1..self).inject(:*)
  end

  def digit_sum
    self.to_s.split("").map(&:to_i).inject(:+)
  end
end

p 10.factorial.digit_sum
p 100.factorial.digit_sum