Изучаем задачу: наибольший общий делитель
В этом материале мы спокойно и по шагам разберём учебную задачу на программирование.
Задача
Найти НОД двух натуральных чисел 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:
- littleangellmarr
- Ловушки новичков при решении: среднее значение списка
- 陈妍希 ai
- melek azad ifşası
- Несколько вариантов решения: наибольший общий делитель
- gachi1151 蘭
- A step-by-step look at removing duplicates from a list
- sonia amat xxx
- tsurupeta-shugo-kishi-elfina-ochiru-ep2
- Два подхода: проверка палиндрома
- Два подхода: проверка анаграмм
- Oedy9 Gallery: Missy Luv Amateur Blonde Fucked Hard After Sixty Nine
- Пишем решение с тестами: наибольший общий делитель
- Осваиваем задачу: переворот строки
- xxx ไทย 15
- Решаем и тестируем: максимум и минимум списка
- Осваиваем задачу: переворот строки
- Fake cop married and cop tickled Domestic Disturbance Call
- Типичные ошибки при решении: переворот строки
- SBC-0058 Frankfurt Hayashi Japanese Gay Hardcore Bareback Video
- türk ifşa ünlü
- Leticia Miranda Pelada: Fotos e Vídeos Vazados do OnlyFans
- Несколько вариантов решения: быстрая сортировка
- https://paper.wf/irenakeller65380/sophie-lawson-nude-videos
- rubyderossi nudes
- Шаг за шагом: максимум и минимум списка
- menu de 12 chairs cafe