Project Eueler: problem20
問題
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!
回答
def kai(n) return n if n == 1 return n * kai(n-1) end def kai_sum(n) t = kai(n).to_s.split(//).map{|x| x} return t.inject(0){|sum,x| sum + x.to_i} end p kai_sum(100)