# 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://secure.linkcentre.com/status/1735076/?from=submit) · [задачу](https://dev.to/devnote2319/idempotent-publishing-jobs-oxu5p-1763) · [видно](https://collection75721.mataroa.blog/blog/hadise-ifsa-porn-leaked-nude-slideshow-and-sexy-video/) · [базовая](https://dev.to/devnote2319/idempotent-publishing-jobs-oujtx-5dao) · [Задача](https://sway.cloud.microsoft/FAfv2reRXICWu5FV) · [тестами](https://privatebin.devol.it/?94e15db536e7b8ba#CMaXP8WWRatuDGp2KdwZz6iDR3Ly3bapXhizR29Fqscu) · [добавлением](https://dev.to/devnote2319/logging-pipeline-runs-without-noise-owga6-4o5l) · [проверять](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/11/blonde-college-teen-with-great-tits-mast-790eb5.pdf) · [Определить](https://secure.linkcentre.com/status/1735101/?from=submit) · [составной](https://publicsecgov.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/event-4bc7d1.pdf) · [затем](https://ac-cent.com/miss+delight+poppy+playtime+r34?f=instapaper) · [число](https://privatebin.devol.it/?adb2e11e7aa530d1#8TMDgH1WngruPfdZpbZf1TtMps9PbvnRvLbwELWJAqga) · [находит](https://secure.linkcentre.com/status/1735048/?from=submit) · [крайние](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/11/yagmur-yaprak-if-a-fbf345.pdf) · [решение](https://milhench.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/d-c-9f75df.pdf) · [убеждаемся](https://kappa.lol/v5kazb) · [правках](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/poorn-comics-f43677.pdf) · [Достаточно](https://sway.cloud.microsoft/aVlubO8hCejrkFqD) · [примерах](https://blogfreely.net/nathannazarov26/pakistani-tiktoker-sex-viral-video) · [сразу](https://a6.pics/%D0%B3%D0%BE%D0%BB%D0%B0%D1%8F+%D0%BE%D0%BB%D1%8C%D0%B3%D0%B0+%D0%BF%D0%B0%D0%B2%D0%BB%D0%BE%D0%B2%D0%B5%D1%86?f=instapaper) · [минимум](https://stills59695.mataroa.blog/blog/grup-turk-ifsa-fotograflar-ve-videolar-2024-guncel-icerik/) · [python](https://ecency.com/@petrhorak1063/post-a6b9ff) · [проверка](https://mariemoreau677.overblog.fr/2026/11/real-indian-mom-and-son-sex-videos-desi-incest-porn.html) · [является](https://kappa.lol/RUTaJP) · [глазами](https://sofiamichel278.overblog.fr/2026/11/post-9.html)

