Here’s problem 30, titled Digit fifth powers.
Surprisingly there are only three numbers that can be written as the sum of fourth powers of their digits:
- 1634 = 14 + 64 + 34 + 44
- 8208 = 84 + 24 + 04 + 84
- 9474 = 94 + 44 + 74 + 44
As 1 = 14 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.
Like problem 29, this is a straightforward problem to solve. The only point to consider here is the number we should assume for our upper bound, since none is specified in the problem statement. Since we are dealing with fifth powers, the maximum possible number cannot exceed 999999, and even in this case, the value would be 6 x (95), which is 354294. So we could terminate our loop upon reaching this number.
|
1 2 3 4 5 6 7 8 9 10 11 |
grand_total = 0 upper_bound = (9 ** 5) * 6 for i in range(2, upper_bound): j = str(i) total = 0 for x in j: total += int(x) ** 5 if total == i: grand_total += i print(grand_total) |