Euler Project question 30 in python way

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

import time
start = time.time()
L = []
def integers():
    i = 2
    while True:
        yield i
        i += 1
integer = integers()
for i in integer:
    if i < len(str(i)) * 9**5:
        if i == sum([int(j)**5 for j in str(i)]):
            L.append(i)
        else:
            continue
    else:
        break
print "sum %s was found in %s seconds" % (sum(L), time.time() - start)

posted @ 2014-10-30 16:57  dergum  阅读(153)  评论(0编辑  收藏  举报