|
发表于 2017-1-14 14:20:04
|
显示全部楼层
# encoding:utf-8
# 一个整数与1,2,3...N的乘积链接构成1-9的pandigital,寻找最大的数
from time import time
def euler038():
for i in range(1, 9877):
tmp = ''
for t in range(1, 10):
tmp += str(i * t)
if len(tmp) > 9:
break
if len(tmp) == 9:
if not '123456789'.strip(tmp):
print(i, [k for k in range(1, t + 1)])
break
if __name__ == '__main__':
start = time()
euler038()
print('cost %.6f sec' % (time() - start))
1 [1, 2, 3, 4, 5, 6, 7, 8, 9]
9 [1, 2, 3, 4, 5]
192 [1, 2, 3]
219 [1, 2, 3]
273 [1, 2, 3]
327 [1, 2, 3]
6729 [1, 2]
6792 [1, 2]
6927 [1, 2]
7269 [1, 2]
7293 [1, 2]
7329 [1, 2]
7692 [1, 2]
7923 [1, 2]
7932 [1, 2]
9267 [1, 2]
9273 [1, 2]
9327 [1, 2]
cost 0.020014 sec |
|