Я пытаюсь решить проблему 50 на Project Euler . Не дайте мне ответ или не решите его для меня, просто попробуйте ответить на этот конкретный вопрос.
Цель состоит в том, чтобы найти самую длинную сумму последовательных простых чисел, которая добавляет к простому числу меньше миллиона. Я написал сито, чтобы найти все простые числа ниже n, и я подтвердил, что это правильно. Далее я собираюсь проверить сумму каждого подмножества последовательных простых чисел, используя следующий метод:
У меня есть пустой список sums
. Для каждого простого числа я добавляю его к каждому элементу в sums
и проверяю новую сумму, затем добавляю простое число к sums
.
Вот оно в питоне
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 последовательных простых чисел, но я не нахожу ее.