В этом материале мы спокойно и по шагам разберём учебную задачу на программирование.

Задача

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

Решение


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).

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


6

Сложность

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

Такой пример хорошо закрепляется практикой — перепишите решение руками и прогоните на своих тестах.

---

Related:

- 1silkc00059 - 女王圣水调教图集:女S圣水羞辱男奴,厕奴喝圣水、恋足、坐脸、口舌服务等女王调教高清写真大合集 - zenci türk - jadehedonic - TS Masturbating Big Dick with Fleshlight Toy - Innocam amateur nude photo gallery | Public nudity and flashing - black money wallpaper - Два подхода: числа Фибоначчи - لعبة مثيرة شاهد فيلم سكس مترجم - bigboob porns - deepdicking - Типичные ошибки при решении: переворот строки - Типичные ошибки при решении: возведение в степень - elif tanyelitan ifşa - Desiree Dulce Deep Throat Scenes on CelebJared - Рассматриваем задачу: числа Фибоначчи - Пошаговый разбор: проверка числа на простоту - Poutyrosee SF: Curvy Goddess Itsrose Nude OnlyFans Leaks - _k_kisssa - Частые ошибки при решении: сумма цифр числа - エロ 漫画 暴走