Простое число — это натуральное число больше 1, которое не имеет положительных делителей, кроме 1 и самого себя. Вот полная программа для печати всех простых чисел в интервале.
Мы начнем с получения от пользователя начального и конечного значений диапазона.
start = int(input("Enter the start of range: ")) end = int(input("Enter the end of range: "))
Затем, чтобы выяснить, является ли число простым, мы начинаем с предположения, что это простое число. Затем мы пытаемся разделить его на все числа от 2 до квадратного корня числа. Если любое из этих делений дает целое число, то это число не является простым числом.
Полная программа:
start = int(input("Enter the start of range: ")) end = int(input("Enter the end of range: ")) for num in range(start, end + 1): if num > 1: for i in range(2, int(num**0.5) + 1): if(num % i) == 0: break else: print(num)
Вот как работает программа:
- Пользователь вводит начало и конец диапазона.
- Мы перебираем каждое число в диапазоне, используя цикл for.
- Для каждого числа, если оно больше 1, мы проверяем коэффициенты от 2 до квадратного корня числа.
- Если число делится в точности (т. е. остаток от деления равен 0), то это не простое число, и мы выходим из внутреннего цикла for.
- Если фактор не найден, выполняется блок else внутреннего цикла for. Команда else, связанная с циклом for, запускается только тогда, когда цикл завершился нормально (т. е. не произошло прерывания).
- В этом случае он печатает число, поскольку оно является простым числом.
Допустим, вы хотите найти все простые числа в диапазоне от 10 до 30. Вот как это можно сделать:
Enter the start of range: 10 Enter the end of range: 30
Результатом будет:
11 13 17 19 23 29
Вы можете увидеть вывод программы, когда я запускаю код.
- С использованием цикла while
- Распечатайте первые 10 простых чисел, используя цикл while
- Напечатайте первые n простых чисел
- Печать простых чисел от 1 до 100
- Для печати простых чисел меньше 20
- Печать простых чисел от 1 до n
- С использованием цикла for
С использованием цикла while
Теперь давайте проверим, как написать программу на Python для печати простых чисел с использованием цикла while.
Ниже приведена программа:
def print_primes(n): def is_prime(num): if num < 2: return False for i in range(2, int(num**0.5) + 1): if num % i == 0: return False return True i = 2 while i <= n: if is_prime(i): print(i) i += 1 # Let's use the function to print prime numbers up to 30 print_primes(30)
Эта программа использует цикл while для перебора чисел от 2 до входного числа. Для каждого числа он проверяет, является ли оно простым, с помощью функции is_prime. Эта функция использует цикл for, чтобы проверить, имеет ли число делители, кроме 1 и самого себя. Если нет, то это простое число, и программа его печатает.
Вывод для print_primes(30) будет:
Распечатайте первые 10 простых чисел, используя цикл while
Код:
def print_first_n_primes(n): def is_prime(num): if num < 2: return False for i in range(2, int(num**0.5) + 1): if num % i == 0: return False return True count = 0 i = 2 while count < n: if is_prime(i): print(i) count += 1 i += 1 # Let's use the function to print first 10 prime numbers print_first_n_primes(10)
Эта программа использует цикл while для перебора натуральных чисел, начиная с 2. Для каждого числа она проверяет, является ли оно простым, с помощью функции is_prime. Если число простое, оно печатается и увеличивает счетчик счетчика. Цикл продолжается до тех пор, пока не будет напечатано необходимое количество простых чисел.
Вывод для print_first_n_primes(10) будет следующим:
2 3 5 7 11 13 17 19 23 29
Напечатайте первые n простых чисел
Теперь давайте посмотрим, еще один пример печати первых n простых чисел в Python с использованием цикла while. В приведенной ниже программе Python используется цикл while для печати первых n простых чисел:
def print_first_n_primes(n): def is_prime(num): if num < 2: return False for i in range(2, int(num**0.5) + 1): if num % i == 0: return False return True count = 0 i = 2 while count < n: if is_prime(i): print(i) count += 1 i += 1 # To use the function, replace "num" with the number of primes you want to print print_first_n_primes(num)
В этой программе print_first_n_primes(n) напечатает первые n простых чисел. Вы можете заменить «num» любым положительным целым числом, чтобы напечатать столько простых чисел.
Функция is_prime(num) проверяет, является ли число num простым или нет. Если num — простое число, возвращается True, в противном случае он возвращает False.
В функции print_first_n_primes(n) мы инициализируем count как 0, а i как 2 (поскольку наименьшее простое число равно 2). Затем мы продолжаем проверять, является ли i простым числом. Если i — простое число, мы печатаем его и увеличиваем count на 1. Этот процесс продолжается до тех пор, пока count не станет равным n.
Печать простых чисел от 1 до 100
Теперь давайте напишем простую программу для печати простых чисел от 1 до 100 на Python, используя цикл while.
def print_primes(n): def is_prime(num): if num < 2: return False for i in range(2, int(num**0.5) + 1): if num % i == 0: return False return True i = 2 while i <= n: if is_prime(i): print(i) i += 1 # Use the function to print prime numbers up to 100 print_primes(100)
Эта программа использует цикл while для перебора чисел от 2 до входного числа (в данном случае 100). Для каждого числа он проверяет, является ли оно простым, с помощью функции is_prime. Если число простое, программа его печатает.
Для печати простых чисел меньше 20
Вот простая программа на Python, которая использует цикл while для печати всех простых чисел меньше 20.
Код:
def print_primes(n): def is_prime(num): if num < 2: return False for i in range(2, int(num**0.5) + 1): if num % i == 0: return False return True i = 2 while i < n: if is_prime(i): print(i) i += 1 # Use the function to print prime numbers less than 20 print_primes(20)
Эта программа использует цикл while для перебора чисел от 2 до входного числа (в данном случае меньше 20). Для каждого числа он проверяет, является ли оно простым, с помощью функции is_prime. Если число простое, программа его печатает.
Результатом print_primes(20) будут все простые числа меньше 20, как показано ниже:
Печать простых чисел от 1 до n
Вот программа на Python, которая использует цикл while для печати всех простых чисел от 1 до n.
Код:
def print_primes(n): def is_prime(num): if num < 2: return False for i in range(2, int(num**0.5) + 1): if num % i == 0: return False return True i = 2 while i <= n: if is_prime(i): print(i) i += 1 # To use the function, replace "num" with the maximum number you want to check print_primes(num)
В этой программе print_primes(n) выведет все простые числа от 1 до n. Вы можете заменить «num» на любое положительное целое число, чтобы напечатать все простые числа до этого числа.
Функция is_prime (num) проверяет, является ли число num простым или нет. Если num — простое число, возвращается True, в противном случае он возвращает False.
В функции print_primes(n) мы инициализируем i как 2 (поскольку наименьшее простое число равно 2). Затем мы продолжаем проверять, является ли i простым числом. Если я простое число, мы печатаем его. Этот процесс продолжается до тех пор, пока я не станет больше n.
С использованием цикла for
Вот простая программа Python для печати простых чисел с использованием цикла for.
Код:
def print_primes(n): for num in range(2, n+1): if num > 1: for i in range(2, num): if(num % i) == 0: break else: print(num) # Use the function to print prime numbers up to 30 print_primes(30)
Эта программа определяет функцию print_primes(n), которая печатает все простые числа до n. Функция использует цикл for для перебора чисел от 2 до n. Для каждого числа проверяется, является ли оно простым. Если число не имеет делителей, кроме 1 и самого себя, это простое число, и программа его печатает.
Вывод для print_primes(30) будет таким, как показано ниже: