### Archive

Archive for June 17, 2019

## Python: Digit fifth Powers

Python: Digit Fifth Powers
Projecteuler Problem No.30

This was an easy task and I solve it on my mobile during a brain resting session 😜. I will just copy the problem statement as it is in ProjectEuler ..

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.

My Problem When I start solving the task i was wondering how far i should check the numbers? We can’t just go for ever, we must stop in some range. I search the web for such cases an i fond a post that clearing this with a formula. I will explain this in my way.

Finding the Upper Limits:
1. We are talking about Power (P=5)
2. We are using the (Base ten) numbers, so the highest digit is 9. Then:
3. 9 power 5 (9p5 = 59049)
4. The digits in (59049) are D=5.
5. Finally, The Formula is (D * 9p5), 5 * 59049 = 295245
6. So, The Upper Limits = 295245

According to the “Finding the Upper Limits” section, if we want to use the power (4) then the upper limit will be:
9p4 = 6561
6561 is a 4 digits
upper limit = 4 * 6561 = 26244

The Code: [The code is for power 4]

# Digit Fifth Powers
# Projecteuler Problem 30

num = 2
pdig = []
wefound = []
thesum = 0

while num < 26244 :

for each in str(num):

pdig.append(int(each) ** 4)

for x in pdig:

thesum = thesum + int(x)

if thesum == num:

wefound.append(num)

print(‘\n Number =’, num)

print(‘ Digits Power 4 =’, pdig)

print(‘ The Sum ‘, thesum)

num = num + 1

pdig = []

thesum = 0

thesum = 0

for x in wefound:

thesum = thesum + x

print(“\n The Numbers that the 4th power of its each digit = itself are: “,wefound)
print(” The Sum of the numbers is: “,thesum)