Введение
В данной статье напишем несколько вариаций кода на языке программирования Python для проверки, является ли число простым.
Простые числа — это числа, которые делятся только на себя и на единицу.
Проверка, простое ли число в Python без использования модуля math
Начнём написание кода с того, что дадим пользователю возможность ввести какое-нибудь число при помощи функции input(). Также, чтобы пользователь не мог вводить число меньше двух, функция input() будет находиться внутри цикла while.
number = 0
while number < 2:
number = int(input('Введите число: '))
Далее создадим переменную prime равную True. Она нам понадобится для получения итогового результата.
number = 0
while number < 2:
number = int(input('Введите число: '))
prime = True
Создадим цикл for, который будет проходиться по диапазону от 2 до квадратного корня (число в степени 0,5 эквивалентно извлечению квадратного корня) из number + 1. Внутри цикла будет производиться проверка, делится ли число number на i без остатка с помощью оператора %. Если делится, то переменная prime присваивает значение False, и цикл прерывается с помощью оператора break.
number = 0
while number < 2:
number = int(input('Введите число: '))
prime = True
for i in range(2, int(number ** 0.5) + 1):
if number % i == 0:
prime = False
break
prime = True
Если после выполнения цикла for значение в переменной prime останется равняться True, то будет выводиться сообщение, что число является простым. В противном случае выведется сообщение, что число не является простым.
number = 0
while number < 2:
number = int(input('Введите число: '))
prime = True
for i in range(2, int(number ** 0.5) + 1):
if number % i == 0:
prime = False
break
prime = True
if prime:
print(number, "является простым числом.")
else:
print(number, "не является простым числом.")
Проверка работы кода
В качестве примера попробуем вводить различные числа:
# Ввод: 10
# Вывод: 10 не является простым числом.
# Ввод: 17
# Вывод: 17 является простым числом.
# Ввод: 3
# Вывод: 3 является простым числом.
Код в виде функции
Также код можно представить в виде функции:
def is_prime(number):
if number < 2:
return False
for i in range(2, int(number**0.5) + 1):
if number % i == 0:
return False
return True
number = int(input('Введите число: '))
if is_prime(number):
print(f"{number} - простое число")
else:
print(f"{number} - не является простым числом")
Проверка, простое ли число в Python с использованием модуля math
Теперь напишем тот же самый код, но с использованием модуля math. Из него нам понадобится всего одна функция sqrt(). Функция math.isqrt() возвращает целую часть квадратного корня из неотрицательного целого числа.
Импортируем функцию isqrt():
from math import isqrt
Заменим строку «int(number**0.5) + 1» в основном коде на «isqrt(number) + 1«:
from math import isqrt
number = 0
while number < 2:
number = int(input('Введите число: '))
prime = True
for i in range(2, isqrt(number) + 1):
if number % i == 0:
prime = False
break
prime = True
if prime:
print(number, "является простым числом.")
else:
print(number, "не является простым числом.")
Код в виде функции
Также код можно представить в виде функции:
import math
def is_prime(number):
if number < 2:
return False
for i in range(2, math.isqrt(number) + 1):
if number % i == 0:
return False
return True
# Пример использования функции
number = int(input('Введите число: '))
if is_prime(number):
print(f"{number} - простое число")
else:
print(f"{number} - не является простым числом")
Заключение
В ходе статьи мы с Вами несколько вариаций программы для проверки числа на простоту в Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂
Курс по Python (50 видоуроков + дополнительные уроки)
Мой Telegram канал
Мой YouTube канал
Курс по созданию телеграм-ботов на Python с фреймворком Aiogram