Created With

# linkProblem 30 - 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.

euler_030.py1linkdef digits_to_power(number, power):2link    total = 03link    for n in str(number):4link        total += int(n)**power5link6link    if number == total:7link        return number8link    else:9link        return 010link11linktotal = 012linkfor i in range(2, 295245):  # limit is computed as 5 * 9**513link    total += digits_to_power(i, 5)14link15linkprint(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.