# Two approaches to primality testing

Покажу решение и коротко сравню его с альтернативным подходом.

## Задача

Определить, является ли число `n` простым. Достаточно проверять делители до квадратного корня из `n`.

## Решение

```python
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` гарантированно находит любой составной делитель.

## Пример работы

```text
True
```

## Сложность

O(√n) по времени, O(1) по памяти.


## Альтернативный подход

Ту же задачу часто решают иначе: например, через рекурсию вместо цикла или через стандартную библиотеку вместо ручной реализации. Альтернатива обычно короче, но первое «ручное» решение лучше показывает механику работы алгоритма. Полезно написать оба и сравнить на одинаковых тестах.

Оба подхода рабочие; важно понимать цену каждого, а не копировать первый попавшийся.

**Читайте также:**

[меньший](https://radicle.network/nodes/seed.cielago.xyz/rad%3AzqhFrBQn679yvMWDQMNiM8kqmxVC/issues/6e2c6b5e44bf9ffc1b45e720ccb7009a60a06565) · [python](https://kappa.lol/c2MWUE) · [работает](https://dev.to/devnote2319/scheduling-retries-in-a-publishing-pipeline-uv670-4cbn) · [одинаковых](https://paste2.org/7zChmLDj) · [Покажу](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/11/fascinum-parasite-96b129.pdf) · [иначе](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/11/event-572638.pdf) · [алгоритма](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/11/brandi-love-only-fans-leak-ac6c74.pdf) · [механику](https://yakihonne.com/article/naddr1qvzqqqr4gupzqa36glm2weqpptu694pqju6zxrflc3whgvw6jk3dzgrh6mgz7yldqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknzce4vgcrxcfj943xycek956rsc3k95ukxct995crvwpexs6rycf4xc6k27t3n0h) · [составной](https://dev.to/devnote2319/idempotent-publishing-jobs-3g6b7-2g3k) · [больший](https://statics.pancake.vn/web-media-264/9a/fb/2b/43/0016ed9177ae1d7c9adeb1052243fbfa4e387c5345d340587d2845d2.pdf) · [Альтернативный](https://mariemartin634.overblog.fr/2026/11/brndav.html) · [Достаточно](https://discuss.tchncs.de/post/65444591) · [Определить](https://dev.to/devnote2319/idempotent-publishing-jobs-f832j-561i) · [число](https://dev.to/devnote2319/account-pools-for-multi-platform-posting-168el-1d7i) · [Поэтому](https://workshop-hub.gitbook.io/workshop-hub-docs-1/chastye-oshibki-pri-reshenii-bystraya-sortirovka) · [корня](https://dev.to/devnote2319/idempotent-publishing-jobs-2q4id-53np) · [решают](https://paper.wf/laurakeller86log/elles-club-official) · [Сложность](https://ymcatexasyg.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/event-e08609.pdf) · [первый](https://blogfreely.net/catherine-vasilyev70/rei-kamiki-photo-gallery-av-actresschi-mu-li-lan-j9tq) · [делитель](https://ecency.com/@marekbenes6828/shadman-comics-18-c6b0c4) · [цикла](https://sway.cloud.microsoft/9A05ZYu0eU2GhvD2) · [гарантированно](https://dev.to/devnote2319/logging-pipeline-runs-without-noise-qyha1-2c40) · [лучше](https://news-ctl-posts.hashnode.dev/two-approaches-to-bubble-sort-mwa0kk2n)

