http://projecteuler.net/problem=30
10 ** 6 > 6 * (9 ** 5)から10**6以上について条件を満たす数は存在しない。
10**6まで全探索。
1 #!/usr/bin/env ruby 2 3 def check(n) 4 n == n.to_s.chars.inject(0){|acc, c| acc + (c.to_i) ** 5} 5 end 6 7 sum = 0 8 2.upto(10**6) do |n| 9 sum += n if check(n) 10 end 11 p sum
iz/競技プログラミング/Project Euler 030 Digit fifth powers (最終更新日時 2012-12-23 01:58:24 更新者 iz)