Предпологаем наличие функции is_prime
. Предположим, что переменная n была связана с положительным целым числом. Напишите операторы, необходимые для вычисления суммы первых n простых чисел. Сумма должна быть связана с общей суммой переменных.Как рассчитать первые n простых чисел?
Примечание: is_prime
принимает целое число как параметр и возвращает True
тогда и только тогда, когда это целое число является простым. Ну, я написал is_prime
функцию:
def is_prime(n):
n = abs(n)
i = 2
while i < n:
if n % i == 0:
return False
i += 1
return True
, но это работает для п == 0, за исключением. Как я могу исправить это, чтобы заставить его работать для каждого целого? Я пытаюсь найти ответы как для того, чтобы написать функцию, чтобы получить сумму первых n простых чисел, так и как изменить мою функцию is_prime, которая должна работать на все возможные входные данные, а не только на положительные числа.
Вы должны проверить неровные только цифры (увеличивающиеся I на 2), ускоряет алгоритм по 2 раза ... – DevSolar
@DevSolar: «Нечетные» является нечетным термином " нечетные числа'. Код должен проверять на 2, но затем продолжается с нечетными числами; он также мог бы остановиться на квадратном корне N для еще одного огромного (большего, чем коэффициент 2) ускорения. Фактически, после проверки 2 и 3 вы можете проверить кратные 6 ± 1 (5, 7, 11, 13 и т. Д.) Для большей скорости. –
В первом абзаце запрашивается код, который будет вычислять сумму первых * n * простых чисел. В нем говорится: «Предположим, что доступность функции' is_prime' »* не записывается. Похоже, вы не читаете внимательно - или вы просто пытаетесь выяснить, как вам нужно писать 'is_prime'? – NVRAM