Два подхода: наибольший общий делитель
У большинства учебных задач есть минимум два честных решения — сравним их.
Задача
Найти НОД двух натуральных чисел 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:
- Типичные ошибки при решении: бинарный поиск
- Gái Xinh Việt Nam Thủ Dâm Lên Đỉnh Cực Sướng Không Che
- lilu starsessions
- invincible r34
- anifap
- doberman studio 3d
- ximena saenz leaked sex tape
- jjk kirara
- Два способа решения: проверка числа на простоту
- Проверяем решение тестами: удаление дубликатов из списка
- Несколько вариантов решения: быстрая сортировка
- 少女裹路地
- Осваиваем задачу: проверка анаграмм
- Изучаем задачу: шифр Цезаря
- Решаем и тестируем: проверка анаграмм
- gattouzo
- سكس شواذ مصري - نيك خول ولواط عربي جديد بالطيز HD
- gattouzo
- enf cmnf
- 衣類用 消臭スプレー
- tayt porno - sexy yoga pants and anal tights sex scenes
- Anastangel Facial Cumshot - Best Morning Cheer Up Porn Video