Проверка числа на простоту
Программа принимает на вход число и проверяет, простое оно или нет.
Решение задачи
- Принимаем на вход число и записываем его в отдельную переменную.
- Инициализируем переменную, которая будет выполнять роль счетчика, значением 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 разработчиков.
Как проверить является ли число простым?
Для начала вспомним определение: простое число - это натуральное число, имеющее ровно два различных натуральных делителя.
Поиск таких чисел это одна из самых часто встречаемых задач в алгоритмах программирования.
Это самый простой и неоптимизированный алгоритм, работает и слава Богу!)
Полностью аналогичный пример, только для подсчета кол-ва делителей мы используем списочное выражение. Заполняем список делителями и если длина списка 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

Похожие записи:
- Сериализаторы для связанных моделей
- Kittygram 2: новые возможности
- Определить количество введенных простых чисел
- Django — доработка шаблона формы регистрации
Добавить комментарий Отменить ответ
В учебном пособии раскрываются основные понятия и термины цифровой картографии, приводится принципиальная последовательность создания
В книге рассматриваются основные аспекты организации редакционных сообщений в прессе, интернете, на радио и
Незаменимая книга по React – технологии с открытым исходным кодом для быстрого создания многофункциональных
Научно-исследовательский публицистический материал посвящён изучению и познанию нового направления в современном мире – информационной
В книге описано устройство и принципы работы современного ПК. Приведен подробный технический обзор комплектующих
В основу книги положена эффективная методика обучения дизайнеров, опробованная в учебных аудиториях. Последовательно в
Рассмотрено состояние стандартизации в области администрирования информационных структурированных кабельных систем. Описана структура БД, используемой