- Проверка на простое число в Python
- Пример
- Проверка числа на простоту
- Решение задачи
- Исходный код
- Объяснение работы программы
- Результаты работы программы
- Вывести все простые числа в диапазоне Python – пошаговый алгоритм
- Заключение
- Проверьте, является ли число простым в Python
- Используйте простой метод итерации для определения простого числа в Python
- Используйте функцию sympy.isprime() , чтобы проверить, является ли данное число простым числом в Python
Проверка на простое число в Python
Напишем программу в Python, в которой будем проверять, является ли заданное число простым числом или нет.
Если натуральное число больше 1 и не имеет положительных делителей, кроме 1 и самого числа и т. д.
Например: 3, 7, 11 и т. д. — простые числа.
Другие натуральные числа, не являющиеся простыми, называются составными числами.
Например: 4, 6, 9 и т. д. — составные числа.
Давайте посмотрим на следующий пример, чтобы понять реализацию.
Пример
# A default function for Prime checking conditions def PrimeChecker(a): # Checking that given number is more than 1 if a > 1: # Iterating over the given number with for loop for j in range(2, int(a/2) + 1): # If the given number is divisible or not if(a % j) == 0: print(a, "is not a prime number") break # Else it is a prime number else: print(a, "is a prime number") # If the given number is 1 else: print(a, "is not a prime number") # Taking an input number from the user a = int(input("Enter an input number:")) # Printing result PrimeChecker(a)
Enter an input number:17 17 is a prime number
Мы использовали вложенное условие if else, чтобы проверить, является ли число простым или нет.
Во-первых, мы проверили, больше ли заданное число 1 или нет. Если оно не больше 1, то число сразу попадет в часть else и напечатает «не простое число».
Теперь число войдет в цикл for, где мы выполняем итерацию от 2 до числа/2. Затем мы использовали вложенное условие if else внутри цикла for. Если число полностью делится на «i», то оно не является простым числом; в обратном случае – является простым числом.
Проверка числа на простоту
Программа принимает на вход число и проверяет, простое оно или нет.
Решение задачи
- Принимаем на вход число и записываем его в отдельную переменную.
- Инициализируем переменную, которая будет выполнять роль счетчика, значением 0 .
- Организуем цикл for в диапазоне от 2 до значения проверяемого числа, деленного на 2 (речь идет, конечно, о целочисленном делении).
- Затем находим количество делителей нашего числа. При помощи условного оператора if мы проверяем, делится ли число без остатка, и затем, если делится, увеличиваем наш счетчик на единицу.
- Если число делителей равно 0 , то проверяемое число является простым.
- Выводим результат на экран.
- Конец.
Исходный код
Ниже дан исходный код, который осуществляет проверку числа на простоту. Результаты работы программы также даны ниже.
a = int(input("Введите число: ")) k = 0 for i in range(2, a // 2+1): if (a % i == 0): k = k+1 if (kОбъяснение работы программы
- Пользователь вводит число, и оно сохраняется в переменную a .
- Инициализируем переменную k значением 0 . Эта переменная будет выполнять роль счетчика.
- Запускаем цикл for в диапазоне от 2 до значения проверяемого числа, деленного на 2 (речь идет, конечно, о целочисленном делении). Напоминаем, что само число и 1 делителями мы считать не будем.
- Затем, при помощи инструкции if , на каждой итерации цикла мы проверяем, делится ли наше число без остатка на числа из выбранного диапазона цикла. Если делится, то переменная k , выполняющая роль счетчика, увеличивается на единицу.
- Если число делителей равно 0 , то проверяемое число является простым.
- Выводим полученный результат на экран.
Результаты работы программы
Пример 1: Введите число: 7 Число простое Пример 2: Введите число: 35 Число не является простымЕще более 50 задач на числа в нашем телеграм канале Python Turbo. Уютное сообщество Python разработчиков.
Вывести все простые числа в диапазоне Python – пошаговый алгоритм
Простое число — это натуральное число, которое больше 1 и не имеет положительного делителя, кроме 1 и самого себя, например 2, 3, 5, 7, 11, 13 и так далее.
Пользователю даются два целых числа, нижнее значение и верхнее значение. Задача состоит в том, чтобы написать программу Python для вывода всех простых чисел в заданном интервале (или диапазоне).
Чтобы напечатать все простые числа в заданном интервале, пользователь должен выполнить следующие шаги:
- Шаг 1: Переберите все элементы в заданном диапазоне.
- Шаг 2: Проверьте для каждого числа, есть ли у него какой-либо множитель между 1 и самим собой.
- Шаг 3: Если да, то число не простое, и оно перейдет к следующему числу.
- Шаг 4: Если нет, то это простое число, и программа распечатает его и проверит следующее число.
- Шаг 5: Цикл прервется, когда будет достигнуто верхнее значение.
Пример: код Python для печати простого числа в заданном интервале.
# First, we will take the input: lower_value = int(input("Please, Enter the Lowest Range Value: ")) upper_value = int(input("Please, Enter the Upper Range Value: ")) print("The Prime Numbers in the range are: ") for number in range(lower_value, upper_value + 1): if number > 1: for i in range(2, number): if(number % i) == 0: break else: print(number)
Please, Enter the Lowest Range Value: 14 Please, Enter the Upper Range Value: 97 The Prime Numbers in the range are: 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
Заключение
В этом уроке мы показали, как написать код для печати простых чисел в заданном диапазоне чисел.
Проверьте, является ли число простым в Python
- Используйте простой метод итерации для определения простого числа в Python
- Используйте функцию sympy.isprime() , чтобы проверить, является ли данное число простым числом в Python
Простое число может быть изображено как натуральное число без других положительных делителей, кроме числа 1 и самого себя. Число 1 не учитывается в списке простых чисел.
В этом руководстве будут рассмотрены различные методы, которые вы можете использовать, чтобы проверить, является ли число простым.
Используйте простой метод итерации для определения простого числа в Python
В этом методе мы используем простой метод итерации с использованием цикла for или while . Переберите числа, начиная с 2 и далее до K/2 , и проверьте, делит ли какое-либо из этих чисел K .
Если найдено число, соответствующее этому критерию, то возвращается False . С другой стороны, если все числа не соответствуют этому критерию, данное число K является простым числом, и возвращается значение True .
В следующем коде используется метод простой итерации, чтобы проверить, является ли данное число простым числом в Python.
k = 13 # 1 not being a prime number, is ignored if k > 1: for i in range(2, int(k/2)+1): if (k % i) == 0: print("It is not a prime number") break else: print("It is a prime number") else: print("It is not a prime number")
Проверяйте, пока не будет достигнут корень данного числа, вместо проверки точного числа. Этот процесс в основном устраняет избыточность, которая возникает, когда больший множитель числа K кратен меньшему множителю, который уже был повторен.
В следующем коде используется оптимизированный метод простой итерации, чтобы проверить, является ли данное число простым числом в Python.
def isitPrime(k): if k==2 or k==3: return True if k%2==0 or k2: return False for i in range(3, int(k**0.5)+1, 2): if k%i==0: return False return True print(isitPrime(13))
Оптимизированный метод итерации делает его быстрее и эффективнее, чем простой метод итерации, примерно на 30%.
Используйте функцию sympy.isprime() , чтобы проверить, является ли данное число простым числом в Python
SymPy - это библиотека на Python, используемая для реализации символьной математики. Это упрощенная система компьютерной алгебры (CAS), которая содержит все основные функции. Для этого метода необходима установка этого модуля, и его можно загрузить, просто используя команду pip .
sympy.isprime() - это встроенная функция модуля SymPy , которую можно использовать для проверки возможных простых чисел. Это прямая функция, которая возвращает True , если проверяемое число простое, и False , если число не простое.
Следующий код использует функцию sympy.isprime() , чтобы проверить, является ли данное число простым числом в Python.
from sympy import * isprime(8) isprime(11)
Следует отметить, что любое отрицательное число не подпадает под критерии простых чисел. Вывод этих функций может измениться, если ему сопоставить какое-либо отрицательное число.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.