読者です 読者をやめる 読者になる 読者になる

mu chance or much chance ?

日々の戯れ言

Project Euler 30

Project Euler

Problem30を解き直しました.

  • Digit fifth powers

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.

https://projecteuler.net/problem=30

問題は「各桁を5乗した数の総和が,元の整数と一致するような整数の総和を求めよ(ただし整数1を除く)」.

def calc(num)
	sum = 0
	while num > 0 do
		k = num % 10
		sum += (k ** 5)
		num /= 10
	end
	return sum
end

sum = 0
for i in 2..999999 do
	if i == calc(i) then
		sum += i
	end
end
p sum

数学的な解析から繰り返し数を決めています.