как написать код на python, чтобы проверить, является ли число простым?
python
import math
def is_prime(number):
if number <= 1:
return False
if number == 2:
return True
if number % 2 == 0:
return False
max_divisor = math.isqrt(number) + 1
for divisor in range(3, max_divisor, 2):
if number % divisor == 0:
return False
return True
number = int(input("Введите число: "))
if is_prime(number):
print(f"{number} - простое число")
else:
print(f"{number} - составное число")
Давайте разберем этот код.
1. Мы создаем функцию `is_prime`, которая принимает число в качестве аргумента и возвращает `True`, если число простое, и `False`, если число составное.
2. Проверяем базовые случаи: если число меньше или равно 1, то оно не является простым; если число равно 2, то оно является простым; если число четное (делится на 2), то оно не является простым.
3. Определяем максимальный делитель, который нужно проверить (квадратный корень из числа плюс 1), так как если число не простое, то хотя бы один делитель будет не больше квадратного корня из числа.
4. Проходим циклом по нечетным числам от 3 до `max_divisor`, проверяя делится ли число на них. Если делится хотя бы на одно из этих чисел, возвращаем `False`, иначе возвращаем `True`.
5. Через функцию `input` мы запрашиваем у пользователя число для проверки, затем вызываем функцию `is_prime` и выводим результат.
Этот код эффективно определяет, является ли число простым, используя алгоритм проверки делителей до квадратного корня из числа.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет