Частые ошибки при решении: проверка числа на простоту
Разберём решение и подводные камни — их обычно не видно в готовом коде из учебника.
Задача
Определить, является ли число 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) по памяти.
Частые ошибки
- Не обрабатывать крайние случаи. Пустой ввод, ноль, отрицательные числа — именно там решение чаще всего ломается.
- Смешивать типы данных. Строки и числа ведут себя по-разному; неявное приведение типов — источник неочевидных багов.
- Писать код без проверки на маленьких примерах. Прогоните решение вручную на 2-3 значениях, прежде чем считать задачу решённой.
Если решение заработало с первого раза — всё равно сверьтесь со списком ошибок: половина багов рождается при доработках.
Related:
- Two ways to solve quicksort
- 91物是人非
- türk amatör çekim çıplak kız resimleri
- Обзоры матчей на Rutube: видео Лиги Европы и Лиги чемпионов
- Два подхода: максимум и минимум списка
- Walking through the sum of digits
- Jenni Navarrete XXX – Exclusive OnlyFans Nude Photos & Videos
- Осваиваем задачу: шифр Цезаря
- Частые ошибки при решении: подсчёт частот слов
- Рассматриваем задачу: проверка скобочной последовательности
- tomubobu
- Два способа решения: числа Фибоначчи
- Проверяем решение тестами: проверка скобочной последовательности
- Neha Bhabhi Cartoon Sex: Horny Bhabhi Fucks Devar Hindi Audio Story
- cute monsters inc wallpaper
- Diva Flawless OnlyFans Nude Photos and Video Leaks
- rippedshow96 nude
- stellabunss
- Rule 34 Article on Legal Issues | NSFW AI Art Gallery
- konig and ghost r34
- A step-by-step look at removing duplicates from a list
- boyst0271