НОД (алгоритм Евклида)
НОД двух чисел через остатки: a mod b, пока не ноль.
1function gcd(a: number, b: number): number {2 while (b !== 0) {3 const t = a % b4 a = b5 b = t6 }7 return a8}Проблема
НОД двух чисел через остатки: a mod b, пока не ноль.
Что вы видите
Пары (a,b) уменьшаются: 48 и 18 → 18 и 12 → 12 и 6 → 6 и 0.
Как это работает
НОД(a,b) = НОД(b, a mod b): любой общий делитель a и b делит и остаток. Остатки строго убывают — за логарифм шагов доходим до нуля.
Пошаговый разбор
- 01
Остаток
a mod b.
- 02
Замена
a←b, b←остаток.
- 03
Ноль
b=0 — ответ a.
Complexity и ограничения
Сложность см. в шапке страницы.
Edge cases
- Пустой вход
Корректная тривиальная обработка.
- Вырожденный случай
Минимум работы — сразу ответ.
Где встречается в реальности
Дроби
Сокращение дробей на НОД.
RSA
Модульная арифметика, обратные по модулю.
Расписания
Пересечение периодических событий через НОК.
Связанные алгоритмы
«Древнейший алгоритм — 2300 лет в строю»
Тот же сценарий StepSequence в вертикальной композиции — с safe zones и записью WebM ниже на странице.
Shorts 9:16
Вертикальная композиция строится той же последовательностью шагов, что и страница: safe zones отмечены пунктиром (там живёт UI платформ), биты сценария подсвечиваются по прогрессу. Кнопка записи сохраняет WebM — детерминированная StepSequence даёт воспроизводимый ролик без монтажа.