Python Implementation of Problem 30

View source code here on GitHub!

Problem Solution

Project Euler Problem 30

This one was tricky because the last number was significantly higher than I thought it would be.

Problem:

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.

python.src.p0030.main() int
 1"""
 2Project Euler Problem 30
 3
 4This one was tricky because the last number was significantly higher than I
 5thought it would be.
 6
 7Problem:
 8
 9Surprisingly there are only three numbers that can be written as the sum of
10fourth powers of their digits:
11
12    1634 = 1**4 + 6**4 + 3**4 + 4**4
13    8208 = 8**4 + 2**4 + 0**4 + 8**4
14    9474 = 9**4 + 4**4 + 7**4 + 4**4
15
16As 1 = 1**4 is not a sum it is not included.
17
18The sum of these numbers is 1634 + 8208 + 9474 = 19316.
19
20Find the sum of all the numbers that can be written as the sum of fifth powers
21of their digits.
22"""
23
24
25def main() -> int:
26    ret = 0
27    for x in range(2, 10**6):
28        if x == sum(int(y)**5 for y in repr(x)):
29            ret += x
30    return ret

Tags: power, digit-sum