Найти тему
Забугорные записки

Проект Эйлера. Задача 10

Сложение простых чисел

Сумма простых чисел меньше 10 равна 2 + 3 + 5 + 7 = 17.

Найдите сумму всех простых чисел меньше двух миллионов.


Эта задача весьма похожа на седьмую. Поэтому давайте возьмём оттуда функцию проверки числа, является ли оно простым.

def is_simple(number):
for i in range(2, int(number**0.5)+1):
if number % i == 0:
return False
return True

Теперь, как и в том же седьмом номере будем перебирать простые числа, начиная с тройки, поставив шаг 2 (ибо чётные числа автоматически не являются простыми). Только на этот раз для диапазона выборки укажем верхнюю границу в 2000000 и создадим переменную, в которой будет записана сумма всех простых чисел.

answer = 2 # Учитываем, что 2 – тоже простое число
for number in range(3, 2000000, 2):
if is_simple(number):
answer += number
print(answer)

# Output: 142913828922