Пошаговый разбор: проверка числа на простоту
Пройдём задачу шаг за шагом — такой формат удобен для первого знакомства с алгоритмами.
Задача
Определить, является ли число n простым. Достаточно проверять делители до квадратного корня из n.
Решение
def is_prime(n: int) -> bool:
if n < 2:
return False
for d in range(2, int(n ** 0.5) + 1):
if n % d == 0:
return False
return True
print(is_prime(29))
Как это работает
Если у числа есть делитель, больший корня, то у него есть и парный меньший. Поэтому перебор до √n гарантированно находит любой составной делитель.
Пример работы
True
Сложность
O(√n) по времени, O(1) по памяти.
Разбор по шагам
- Шаг 1. Входные данные. Проверяем, что приходит в функцию, и какие значения считаются корректными.
- Шаг 2. Основной цикл. Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации.
- Шаг 3. Результат. Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.
Когда каждый шаг понятен, доработка решения перестаёт быть лотереей.
Related:
- jacquedarley
- Медленно и подробно: сортировка пузырьком
- Типичные ошибки при решении: удаление дубликатов из списка
- zoox18 com
- wueruu
- 惠子阿姨
- Два подхода: проверка числа на простоту
- Viral Nagita Slavina Bokep: Video Syur 61 Detik dan Foto Hot
- Пошаговый разбор: наибольший общий делитель
- 木崎 凪
- sone-525
- olgun türbanlı twitter
- Scarlet Louise Anal Pussy to Mouth Sex with Toy Boy | sbc 0058
- ayse elbi
- Alli Brawl Stars R34 Adult Hentai Gallery & Porn Collection
- 推油少年视频
- Ebony Banks Anal Ass Gallery - HD Sarah Banks Deep Pound
- punjabi sex in car
- Осваиваем задачу: быстрая сортировка
- camera women r34
- zoox18 com
- Проверяем решение тестами: шифр Цезаря
- Проверяем решение тестами: подсчёт частот слов
- Ebony Banks Anal Ass Gallery - HD Sarah Banks Deep Pound
- 厕拍偷拍美女尿尿视频 高清厕所偷拍资源
- 77kimoji
- سكس النوم مترجم
- Мерседес W210 «лупатый»: фото, характеристики и обзор
- türk celebrity nude
- Ловушки новичков при решении: проверка числа на простоту