Как проверить простое ли число в питоне
Перейти к содержимому

Как проверить простое ли число в питоне

  • автор:

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

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

Решение задачи

  1. Принимаем на вход число и записываем его в отдельную переменную.
  2. Инициализируем переменную, которая будет выполнять роль счетчика, значением 0 .
  3. Организуем цикл for в диапазоне от 2 до значения проверяемого числа, деленного на 2 (речь идет, конечно, о целочисленном делении).
  4. Затем находим количество делителей нашего числа. При помощи условного оператора if мы проверяем, делится ли число без остатка, и затем, если делится, увеличиваем наш счетчик на единицу.
  5. Если число делителей равно 0 , то проверяемое число является простым.
  6. Выводим результат на экран.
  7. Конец.

Исходный код

Ниже дан исходный код, который осуществляет проверку числа на простоту. Результаты работы программы также даны ниже.

a = int(input("Введите число: ")) k = 0 for i in range(2, a // 2+1): if (a % i == 0): k = k+1 if (k 

Объяснение работы программы

  1. Пользователь вводит число, и оно сохраняется в переменную a .
  2. Инициализируем переменную k значением 0 . Эта переменная будет выполнять роль счетчика.
  3. Запускаем цикл for в диапазоне от 2 до значения проверяемого числа, деленного на 2 (речь идет, конечно, о целочисленном делении). Напоминаем, что само число и 1 делителями мы считать не будем.
  4. Затем, при помощи инструкции if , на каждой итерации цикла мы проверяем, делится ли наше число без остатка на числа из выбранного диапазона цикла. Если делится, то переменная k , выполняющая роль счетчика, увеличивается на единицу.
  5. Если число делителей равно 0 , то проверяемое число является простым.
  6. Выводим полученный результат на экран.

Результаты работы программы

Пример 1: Введите число: 7 Число простое Пример 2: Введите число: 35 Число не является простым

Еще более 50 задач на числа в нашем телеграм канале Python Turbo. Уютное сообщество Python разработчиков.

Как проверить является ли число простым?

Для начала вспомним определение: простое число - это натуральное число, имеющее ровно два различных натуральных делителя.

Поиск таких чисел это одна из самых часто встречаемых задач в алгоритмах программирования.

Это самый простой и неоптимизированный алгоритм, работает и слава Богу!)

Полностью аналогичный пример, только для подсчета кол-ва делителей мы используем списочное выражение. Заполняем список делителями и если длина списка len() равна 2 (то есть ровно два делителя нашлось), то выводим истину.

Мы пробегаем диапазон от 2-х до самого числа (не включая его) и если найдется какой-либо другой делитель, то число не является простым.

В данном цикле мы пробегаем все числа от 2 и до квадратного корня числа, потому что у каждого числа из перебора найдется пара из правой части, которую мы не перебираем экономя время и ресурс компьютера. Проиллюстрирую это на картинке ниже.

Четверты пример самый коротки, но не самый простой! Получая число в функцию для проверки мы проверяем, что оно больше нуля, а дальше проверяем через all() , что для всех x условие x % i != 0 является истинным и только в таком случае возвращаем True.

Задача на поиск простого числа будет преследовать нас в 25 номере и в ряди других примеров, хоть и не часто. Делитесь своими вариантами поиска простых чисел в комментариях!

Какая функция нужна для нахождения простого числа в Python?

Для начала определимся с определением. Простое число - натуральное число, имеющее ровно два различных натуральных делителя: 1 и самого себя.

Напишем функцию, принимающую на вход число и проверяющую, является ли оно простым.

import math def is_prime(number): # список простых чисел начинается с 2, всё остальное можно сразу отмести if number  1: return False number_sqrt = int(math.sqrt(number)) divisors = range(2, (number_sqrt + 1)) # Если число не простое, то в отрезке от 1 до квадратного корня числа, точно будут его делители. for element in divisors: if number % element == 0: return False return True is_prime(0) # False is_prime(1) # False is_prime(2) # True is_prime(3) # True is_prime(4) # False 

Функция проверки числа на простоту

Напишите функцию, которой принимает натуральное число и определяет, является ли это число простым или сложным.

from math import sqrt def is_prime(n): # Если число меньше двух, то оно ни простое, ни сложное. if n < 2: return False # Число 2 является простым. if n == 2: return True # Верхняя граница делителей. limit = sqrt(n) # Нижняя граница делителей. i = 2 while i 


Похожие записи:
  1. Сериализаторы для связанных моделей
  2. Kittygram 2: новые возможности
  3. Определить количество введенных простых чисел
  4. Django — доработка шаблона формы регистрации

Добавить комментарий Отменить ответ

В учебном пособии раскрываются основные понятия и термины цифровой картографии, приводится принципиальная последовательность создания

В книге рассматриваются основные аспекты организации редакционных сообщений в прессе, интернете, на радио и

Незаменимая книга по React – технологии с открытым исходным кодом для быстрого создания многофункциональных

Научно-исследовательский публицистический материал посвящён изучению и познанию нового направления в современном мире – информационной

В книге описано устройство и принципы работы современного ПК. Приведен подробный технический обзор комплектующих

В основу книги положена эффективная методика обучения дизайнеров, опробованная в учебных аудиториях. Последовательно в

Рассмотрено состояние стандартизации в области администрирования информационных структурированных кабельных систем. Описана структура БД, используемой

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *