Все простые числа в заданном интервале
Иногда нужно вывести не одно простое число, а сразу все, попадающие в заданный диапазон — например, между 900 и 1000. В этой статье разберём программу, которая делает именно это.
Что нужно знать
Перед изучением примера полезно понимать:
Оператор if…else в Python — условный оператор
if...elsePython: цикл for — цикл
forPython: break и continue — операторы
breakиcontinue
Простым называется натуральное число больше 1, не имеющее делителей, кроме 1 и самого себя. Так, 2, 3, 5, 7 — простые, а 6 — составное, потому что 2 × 3 = 6.
Пример
# Python program to display all the prime numbers within an interval
lower = 900
upper = 1000
print("Prime numbers between", lower, "and", upper, "are:")
for num in range(lower, upper + 1):
# all prime numbers are greater than 1
if num > 1:
for i in range(2, num):
if (num % i) == 0:
break
else:
print(num)
Вывод
Prime numbers between 900 and 1000 are:
907
911
919
929
937
941
947
953
967
971
977
983
991
997
Как это работает
Границы диапазона задаются переменными lower и upper. Внешний цикл проходит по всем числам интервала с помощью range(lower, upper + 1). Для каждого числа запускается внутренний цикл, который ищет делители от 2 до num - 1.
Здесь используется конструкция for...else: блок else выполняется только тогда, когда из цикла не выходили через break. Поэтому если ни одного делителя не нашлось — число простое, и оно печатается.