我正在尝试解决Project Euler上的问题 50 。不要给我答案或为我解决它,只是尝试回答这个具体问题。
目标是找到添加到低于一百万的素数的最长的连续素数之和。我写了一个筛子来找到n以下的所有素数,我已经确认它是正确的。接下来,我将使用以下方法检查每个连续素数子集的总和:
我有一个空列表sums
。对于每个素数,我将它添加到中的每个元素sums
并检查新的总和,然后将素数附加到sums
.
这是在python中
primes = allPrimesBelow(1000000)
sums = []
for p in primes:
for i in range(len(sums)):
sums[i] += p
check(sums[i])
sums.append(p)
我想知道我是否要求check()
两个或多个连续素数的总和低于一百万
问题是有一个素数 953,可以写成 21 个连续素数之和,但我没有找到它。