# Solving and testing 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) по памяти.


## Проверка тестами

Хорошая привычка — проверять решение сразу на нескольких примерах, включая крайние случаи.

```python
assert is_valid(True) is not None  # базовая проверка вызова
assert is_valid(False) is not None  # и второй случай
```

Такой минимум уже защищает от случайной ошибки при правках кода.

Тесты вида assert удобны для учебных задач: они короткие, наглядные и не требуют фреймворков.

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

[наглядные](https://jaflysilve.freeflarum.com/d/24114-24114-adult-script-pro-4k-xxx-video-gallery-and-streaming-cms) · [делители](https://posts.workshop-hub.workers.dev/average-tests) · [включая](https://mycommunitycalendars.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/angelashleyy-588bda.pdf) · [больший](https://radiocrazy.net/bokep+bidan+jember+full?f=instapaper) · [работает](https://ferment.site/m/random/t/2698) · [накроем](https://blaynebarber.com/lewdgazer?f=instapaper) · [проверка](https://dev.to/devnote2319/idempotent-publishing-jobs-id6wf-3l4b) · [второй](https://dev.to/devnote2319/logging-pipeline-runs-without-noise-pf169-5gma) · [короткие](https://dev.to/devnote2319/logging-pipeline-runs-without-noise-0gyva-47m4) · [защищает](https://rimworld.gallery/m/random/t/16291) · [ошибки](https://paper.wf/irenanovak70log/bokep-colmek-indo-kumpulan-video-viral-dan-foto-janda) · [парный](https://portfolio75615.mataroa.blog/blog/watch-indian-girlfriend-nude-video-and-desi-mms-sex/) · [правках](https://dev.to/devnote2319/account-pools-for-multi-platform-posting-g7nb2-39hi) · [сразу](https://rentry.org/anaalee9-onlyfans-743584) · [квадратного](https://dev.to/devnote2319/idempotent-publishing-jobs-rs4i7-22dm) · [Проверка](https://montage38683.mataroa.blog/blog/lola-alphy-onlyfans-leaked-nude-underwater-fitting-room-photos/) · [любой](https://secure.linkcentre.com/status/1741429/?from=submit) · [Пример](https://dev.to/devnote2319/logging-pipeline-runs-without-noise-qyha1-2c40) · [assert](https://posts.workshop-hub.workers.dev/binary-search-razbor-2) · [базовая](https://posts.workshop-hub.workers.dev/sieve-tests-2) · [Решение](https://writefreely.ethibox.fr/oz8c3724/ts-xiao-ye-jiang-asian-ts-ladyboy-porn-with-cumshot) · [требуют](https://privatebin.devol.it/?cbd192b993313d21#DAxvuCidCzzP7TfR598MJLpAG1NKd1pPYum3MgoSMn5a) · [работы](https://pen.absturztau.be/oz4e004f/maria-rudenok-sex-photos-nude-leaked-gallery-images) · [нескольких](https://pen.absturztau.be/oz830f0e/juliana-bonde-sex-videos-nude-photos-and-adult-gallery)

