Проверка простоты числа на Python

Вводится число. Программа определяет простое оно или составное.

Примечание. Простыми являются натуральные числа больше 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

  Python: создание функций в программировании
Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Python для начинающих
Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x