Project Euler Problem 30

問題

Surprisingly there are only three numbers that can be written as the sum of fourth
powers of their digits:

    1634 = 1^4 + 6^4 + 3^4 + 4^4
    8208 = 8^4 + 2^4 + 0^4 + 8^4
    9474 = 9^4 + 4^4 + 7^4 + 4^4

As 1 = 1^4 is not a sum it is not included.

The sum of these numbers is 1634 + 8208 + 9474 = 19316.

Find the sum of all the numbers that can be written as the sum of fifth powers of
their digits.

ソース

n = 5
sum = 0
(2...10 ** 6).each {|i|
	sum += i if i == i.to_s.scan(/./).map{|c| c.to_i}.inject(0){|s, x| s + x ** n}
}
puts sum

解答

443839

感想

普通に計算して終了。
でも、どこまで計算していいかわからず、10^6まで決め打ちで無事通った。。。
何かリミットの計算方法あるのだろうか?