У меня есть проблема. Я пишу is_prime
функцию, но всякий раз, когда я запускаю его, он не будет работать на is_prime(9)
, и я не могу понять, почему:Моя функция is_prime не работает на 9, и я не знаю почему?
def is_prime(x):
if x < 2: ##because negative numbers, 0 and 1 are not prime##
return False
elif x == 2:
return True
else:
for n in range(2, x):
if x % n == 0:
return False
else:
return True
возвращает True
по какой-то причине на is_prime(9)
?
эм ... Вы можете думать об этом снова – Basic
Обратите внимание, что 'n' не должны быть проверены до' x'. Квадратного корня из 'x' достаточно. –
диапазон (2, x) также переусердствует, каждое число является простым или составлено простым числом. –