# Solving and testing primality testing (part b2ba)

Посмотрим на задачу глазами разработчика: сначала решение, затем убеждаемся в его корректности.

## Задача

Определить, является ли число `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  # и второй случай
```

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

С добавлением проверок решение становится самодокументируемым — сразу видно, что код делает.

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

[больший](https://jaflysilve.freeflarum.com/d/2307-2307-stickam-forum-amateur-webcam-captures-video-collection) · [меньший](https://drop.xtrafrancyz.net/selif/4bjkxb0pyx.pdf) · [привычка](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-f216dd.pdf) · [ошибки](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/ngintip-mandi-kolam-renang-8ebd90.pdf) · [любой](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-0a079c.pdf) · [находит](https://sergeyandersen.wixsite.com/my-site-1/post/kaiser-x-isagi) · [второй](https://sdelanounas.in.ua/%D1%88%D0%B2%D0%B5%D0%B9%D0%BD%D1%8B%D0%B5+%D1%84%D0%B0%D0%B1%D1%80%D0%B8%D0%BA%D0%B8+%D0%B2+%D0%B5%D1%80%D0%B5%D0%B2%D0%B0%D0%BD%D0%B5?f=instapaper) · [числа](https://statics.pancake.vn/web-media-264/c6/c6/6c/69/acc38522d9e42768257617c3cbb55dff9253b71c3be91bc16f671ae6.pdf) · [assert](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [число](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/2-9d902b.pdf) · [Такой](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/3d-porn-comic-ella-and-david-41a082.pdf) · [Пример](https://jaflysilve.freeflarum.com/d/2416-2416-elena-kamperi-sex-tape-watch-leaked-onlyfans-videos-nude-photos) · [False](https://privatebin.devol.it/?28fd425032965f2a#8VRrQQWZDSU6FkpCnM7hxA1m4PMdV13YNtydLjPAwEd9) · [сначала](https://kappa.lol/TCDgAv) · [решение](https://kappa.lol/1YWVn3) · [включая](https://paste2.org/L6B7WbKz) · [видно](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [проверок](https://hey.xyz/posts/13hkehjxn1av3qwfvpa) · [задачу](https://rentry.co/gallery-309152) · [разработчика](https://jeeteronsolana.com/%D9%86%D9%8A%D9%83+%D9%88%D8%B1%D8%B9?f=linkcentre) · [range(2](https://rentry.co/ben-10-sexo-anal-786163) · [Сложность](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/lararoseb-leaks-524f93.pdf) · [сразу](https://emmamoreau879.overblog.fr/2026/10/free-desktop-wallpaper-valentines-300-valentine-s-day-backgrounds.html) · [работы](https://ecency.com/@vojtechurban2724/jelly-bean-brains-nude-1b85f0) · [python](https://dirk-schlichting.de/lyra+crow+porn?f=instapaper) · [Задача](https://hey.xyz/posts/ptt84ge9bj3khnpgvd) · [Определить](https://jaflysilve.freeflarum.com/d/2290-2290-femboy-gangbang) · [гарантированно](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g)

