Вводится число. Программа определяет простое оно или составное.
Примечание. Простыми являются натуральные числа больше 1, которые делятся нацело только на 1 и самих себя.
import math
n = int(input())
if n < 2:
print("A number must be 2 and more")
quit()
elif n == 2:
print("It's prime number")
quit()
i = 2
limit = int(math.sqrt(n))
while i <= limit:
if n % i == 0:
print("This is composite number")
quit()
i += 1
print("It's prime number")
С комментариями:
# модуль math содержит функцию
# извлечения квадратного корня - sqrt()
import math
# Вводится число и преобразуется к целому
n = int(input())
# Если число меньше 2, то оно ни сложное и ни простое
if n < 2:
print("A number must be 2 and more")
# выход из программы
quit()
# Если число равно 2, то оно простое.
elif n == 2:
print("It's prime number")
# выход из программы
quit()
# переменная-делитель, которая будет последовательно
# увеличиваться на 1 в цикле
i = 2
# Предел, до которого будет увеличиваться i.
# (При проверке простоты числа достаточно перебрать делители
# от 2 до квадратного корня из исследуемого числа.)
limit = int(math.sqrt(n))
# Пока i не больше предела
while i <= limit:
# проверять, делится ли число n нацело на текущий делитель.
# Если делится,
if n % i == 0:
# то это составное число. Вывести соответствующее сообщение
print("This is composite number")
# и выйти из программы
quit()
# Увеличить делитель на 1
i += 1
# До этой точки программа дойдет, если в цикле
# не было определено, что число составное.
# Поскольку оно не составное, значит простое.
print("It's prime number")
Пример выполнения:
5003
It's prime number