443839

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.

`1linkdef digits_to_power(number, power):`

2link total = 0

3link for n in str(number):

4link total += int(n)**power

5link

6link if number == total:

7link return number

8link else:

9link return 0

10link

11linktotal = 0

12linkfor i in range(2, 295245): # limit is computed as 5 * 9**5

13link total += digits_to_power(i, 5)

14link

15linkprint(total)

- We first create a function that gets the sum of the power of their digits. For simplicity's sake, we just return the same number if it is true, else, we return 0.
- The real challenge of this problem is knowing the upper limit. Apparently, there is a formula to get it: $5\cdot 9^{5}$.
- We run a for loop of all the numbers between 2 and 295245 (because 1 is excluded as stated in the problem) and checking if they are equal to sum of the 5th power of their digits.

Show Answerchevron_right

443839