# Two ways to solve primality testing (part e570)

Разберём решение и посмотрим, как та же задача решается другим способом.

## Задача

Определить, является ли число `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://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/desi-aunty-peeing-fdfdec.pdf) · [задачу](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-49ca70.pdf) · [любой](https://paste.rs/RcEBw) · [решают](https://statics.pancake.vn/web-media-264/54/58/fc/9c/d60477bbc20602521441c84aa8a73dfd3bfcfd31e7be293da2bc416d.pdf) · [написать](https://privatebin.devol.it/?cb3b5a15d4afdbff#6Md69kWGXgL9pEZWajrBDRukAHvGAvuFPtGee5EyYrqD) · [задача](https://ecency.com/@jakubkolar5653/akt-eee484) · [подхода](https://drop.xtrafrancyz.net/selif/j3rjke4t4d.pdf) · [работы](https://team.writefreely.dev/oz40fc81/octonauts-r34) · [иначе](https://yakihonne.com/article/naddr1qvzqqqr4gupzpc0jpx0vznzhryevufwud52dg6kz2t59n0v33wl54edtvd8pstw9qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykk2d3evcmrvvnr956xyety956rxcm995uxgwfe94jr2ef4v5mngd3kv43rvgrf9k7) · [сравнить](https://privatebin.devol.it/?7de69593c500f6d6#2aF7Km9kj9ejtYT7WR8iiPNt1UWn3ncVFXjmsiUXGtTM) · [тестах](https://yakihonne.com/article/naddr1qvzqqqr4gupzq0nwjvh6nn5a666gvft0g8pmf5xcn282dlamfg49v4ylg0clptdpqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkxcfnvdjrzdny956kxdtx956xywpe943rjdmp943rzc3nv9sk2cmxx5enwjae00m) · [int(n](https://discuss.tchncs.de/post/65441387) · [алгоритма](https://news-ctl-posts.hashnode.dev/a-step-by-step-look-at-quicksort-part-d32e) · [Задача](https://paper.wf/lauraweber84log/starrymomoko) · [простым](https://paste2.org/c31B1CAe) · [Решение](https://drop.xtrafrancyz.net/selif/zw0fw1aalu.pdf) · [Поэтому](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [первый](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/la-sirena-brazzer-97c86c.pdf) · [рабочие](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/anagram-shagi-mvfdz8ae.md) · [попавшийся](https://hey.xyz/posts/2rddc607hnv944abqfa) · [реализации](https://privatebin.devol.it/?0647252d61d8a1bc#tPjJ6T3DVQrFQrZDaQ3hNjJ51nv3ZPHgmTNQPn28zMn) · [одинаковых](https://paper.wf/milarichter90log/turk-ifsa-utanmaz-bedava-ifsa-videolari-ve-fotograflar) · [делитель](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/factorial-dva-sposoba-mvfh8lew.md) · [способом](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/sbc0058-6a8371.pdf) · [посмотрим](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [range(2](https://privatebin.devol.it/?7abe7dc8bec06fb0#2GZCeMFPryRfJmh3bSGQkDQrkmnSFpR5CnxvAWZuYKWU) · [памяти](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [return](https://blogfreely.net/catherine-vasilyev70/mo-shou-wai-gou) · [времени](https://yakihonne.com/article/naddr1qvzqqqr4gupzq09yj79yaaad6s62nel0n6gft6n69j46hsx29cau53vg0vdz4g7cqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkzctrvycr2dty94nxydek956rserx95ukvwf5956nse3svccrwerrv4jnyng670d)

