【发布时间】:2026-01-06 08:00:02
【问题描述】:
我正在尝试解决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 个连续素数之和,但我没找到。
【问题讨论】: