# Solving and testing the Euclidean algorithm for GCD (part b7ec)

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

## Задача

Найти НОД двух натуральных чисел `a` и `b` — классическая задача школьной математики и один из древнейших алгоритмов.

## Решение

```python
def gcd(a: int, b: int) -> int:
    while b:
        a, b = b, a % b
    return a


print(gcd(48, 18))
```

## Как это работает

Алгоритм Евклида: НОД(a, b) = НОД(b, a mod b). Остаток всегда меньше делителя, поэтому числа быстро уменьшаются: (48, 18) → (18, 12) → (12, 6) → (6, 0).

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

```text
6
```

## Сложность

O(log min(a, b)) по времени, O(1) по памяти.


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

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

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

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

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

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

[привычка](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [Хорошая](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/kourtney-love-love-teacher-fe89dc.pdf) · [защищает](https://hey.xyz/posts/22pkx3v9wwm5a0g70zm) · [времени](https://tomash81.wixsite.com/my-site-1/post/anna-anon-3d-hentai-compilation---best-xxx-videos-edit) · [Алгоритм](https://sway.cloud.microsoft/3QqkdOgdauLHJ06C) · [памяти](https://articlescad.com/grmo-114-381728.html) · [числа](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [простые](https://paper.wf/petraweber86log/scooters-and-sunflowers-and-nudists) · [min(a](https://bokepindon-gallery.vercel.app/bokep+indo+ewe+istri+saat+cuci+piring+2?f=linkcentre) · [удобны](https://sway.cloud.microsoft/x6SZ4TA8gGqNzj2C) · [сразу](https://mariemoreau575.overblog.fr/2026/10/pakistan-ki-sex-video-pakistani-model-samra-new-xxx.html) · [ошибки](https://rentry.co/gallery-290384) · [задач](https://visitslavoniabaranja.com/submit-event/#pending) · [проверки](https://paper.wf/vera1976log/lo-clip-sex-video-sex-hot-viet-nam-2022) · [НОД(b](https://privatebin.devol.it/?941fd509bae84f64#3jsF6dV1D97KEhUZon6qMh3fVzqUReSCfyRqGQ6AGH53) · [натуральных](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/brackets-tests-mvc2mwhp.md) · [случай](https://jaflysilve.freeflarum.com/d/2064-2064-oz-kardesine-kendini-zorla-siktiren-abla) · [крайние](https://leahbernard819.overblog.fr/2026/10/sexbigass.html) · [Найти](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [Проверка](https://yakihonne.com/article/naddr1qvzqqqr4gupzp4gtgg9msyrgs5ld7sfpvqslmmhp9wzt56wa9ycdnxama0twp8szqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkgdenx93kgdtp95mnqwpj956rgwrr943xvwrr95mkzwtpxq6rjcf58qmx2c786jd) · [работы](https://blogfreely.net/nathannazarov26/lo-clip-sex-video-sex-hot-viet-nam-2022) · [включая](https://robloxgalaxy.wiki/analvouyerism?f=linkcentre) · [задаче](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-d47db8.pdf) · [Задача](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/minecraft-futa-mod-d4eef6.pdf) · [проверка](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/mafioso-x-chance-r34-bd4db2.pdf) · [алгоритмов](https://gall.dcinside.com/mgallery/board/view/?id=thekpop&no=64468) · [Пример](https://drop.xtrafrancyz.net/selif/w3qdtc3h5x.pdf)

