可以筛出能分别被2,3,5,7,11,13,17整除的三位数再搜索。
不过鉴于数据量不算太大,直接生成0到9的全排列暴力搜索尽管速度慢,但写法比较简洁。
共有六个这样的数:1460357289、1406357289、1430952867、4160357289、4106357289、4130952867, 它们的和是$16695334890$。
import itertools
print sum(int("".join(s)) for s in itertools.permutations("0123456789") if all(int("".join(s[i+1:i+4]))%j==0 for i,j in enumerate([2,3,5,7,11,13,17])))
|