Project Euler 43

這題本是一道數學題……


本是一道數學題啊……就被我……不……被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()

剛纔好友被盜號了……幸虧我小心謹慎……哎……

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章