36 lines
787 B
Python
36 lines
787 B
Python
#!/usr/bin/python
|
|
|
|
# The 5-digit number, 16807=7^5, is also a fifth power. Similarly, the 9-digit number, 134217728=8^9, is a ninth power.
|
|
#
|
|
# How many n-digit positive integers exist which are also an nth power?
|
|
|
|
from projecteuler import timing
|
|
|
|
|
|
@timing
|
|
def p063():
|
|
i = 1
|
|
count = 0
|
|
finished = 0
|
|
|
|
while not finished:
|
|
# When j=10, j^i will have i+1 digits (e.g. if i=3, 10^3=1000).
|
|
for j in range(1, 10):
|
|
p = j ** i
|
|
|
|
if len(str(p)) == i:
|
|
count = count + 1
|
|
|
|
# When 9^i has less than i digits, all the numbers have been found.
|
|
if len(str(p)) < i:
|
|
finished = 1
|
|
|
|
i = i + 1
|
|
|
|
print('Project Euler, Problem 63')
|
|
print(f'Answer: {count}')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
p063()
|