Напишите функцию `is_prime`, которая принимает число в качестве аргумента и возвращает `True`, если число является простым, и `False` в противном случае.
python
import math
def is_prime(num):
if num <= 1: # Проверяем числа меньше или равные 1
return False
if num == 2: # 2 - это простое число
return True
if num % 2 == 0: # Проверяем четные числа, они не являются простыми (кроме 2)
return False
# Проверяем нечетные числа от 3 до квадратного корня из num
# Мы можем остановиться на корне, потому что если у num есть делитель больше корня,
# то он также имеет делитель меньше корня
for i in range(3, int(math.sqrt(num)) + 1, 2):
if num % i == 0:
return False
return True
Давайте разберем эту функцию:
1. Мы начинаем с проверки `num` на предмет того, что оно меньше или равно 1. В этих случаях число не является простым, поэтому мы возвращаем `False`.
2. Далее мы проверяем, является ли число `num` равным 2. 2 - это простое число, поэтому мы возвращаем `True`.
3. После этого мы проверяем, является ли число `num` четным. Любое четное число, кроме 2, не является простым, поэтому мы возвращаем `False`.
4. Теперь мы перебираем все нечетные числа от 3 до квадратного корня из `num` включительно (мы увеличиваем шаг на 2, чтобы не проверять четные числа). Если найдется делитель для `num`, то число не является простым, и мы возвращаем `False`.
5. Если все проверки пройдены, то число `num` является простым, и мы возвращаем `True`.
Пример использования функции:
python
print(is_prime(17)) # True
print(is_prime(15)) # False
Этот код позволит проверить, является ли число простым, используя указанный подход.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет