http://projecteuler.net/problem=34
10 ** 7まで全探索
1
2
3 @fact = [1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880]
4
5 def check(n)
6 a = n.to_s.chars.to_a.map(&:to_i)
7 f = a.inject(0){|acc, c| acc + @fact[c]}
8 return f == n
9 end
10
11 ans = 0
12 10.upto(10**7) do |n|
13 ans += n if check(n)
14 end
15 p ans