首页 > 代码库 > Euler Project question 29 in python way

Euler Project question 29 in python way

# This python file uses the following encoding: utf-8
# Consider all integer combinations of ab for 2 ≤ a ≤ 5 and 2 ≤ b ≤ 5:

# 22=4, 23=8, 24=16, 25=32
# 32=9, 33=27, 34=81, 35=243
# 42=16, 43=64, 44=256, 45=1024
# 52=25, 53=125, 54=625, 55=3125
# If they are then placed in numerical order, with any repeats removed, we get the following sequence of 15 distinct terms:

# 4, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125

# How many distinct terms are in the sequence generated by ab for 2 ≤ a ≤ 100 and 2 ≤ b ≤ 100?

import time
start = time.time()
l = []
for i in range(2, 101):
    for j in range(2, 101):
        if i**j not in l:
            l.append(i**j)
print "%s distinct powers was found in %s seconds" % (len(l), time.time() - start)

# 9183 distinct powers was found in 1.46399998665 seconds

Euler Project question 29 in python way