您的位置:首页 > 编程语言 > Python开发

Project Euler 43

2012-11-27 22:04 134 查看
这题本是一道数学题……

本是一道数学题啊……就被我……不……被python这么暴力的解决了……

python的itertools太屌了……

docs

直接有排列的内置函数……我去……

有了内置函数……这一切都好办了……

from itertools import *

def check(digits):
prime = [2,3,5,7,11,13,17]
length = 10
l_prime = 6
while length>3:
tmp = int("".join(digits[length-3:length]))
if tmp % prime[l_prime] != 0:
return False
length -= 1
l_prime -= 1
return True

def main():
permutation_digit = list(permutations(str(i) for i in range(0,10)))
#permutation_digit = [['1','4','0','6','3','5','7','2','8','9']]
sum = 0
for i in permutation_digit:
if check(i):
sum += int("".join(i))
print(sum)

if __name__ == '__main__':
main()


刚才好友被盗号了……幸亏我小心谨慎……哎……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息