Euclidean Algorithm — Визуализатор алгоритмов

Шаг 1:Compute gcd(48, 36). Euclid's key idea: gcd(a, b) = gcd(b, a mod b).

Euclidean Algorithm

Лёгкий
Временная сложность
O(n²)O(n log n)O(n)O(log n)O(1)n →
Лучший: O(1)
Средний: O(log min(a, b))
Худший: O(log min(a, b))

Алгоритм Евклида вычисляет наибольший общий делитель (НОД) двух целых чисел — наибольшее число, на которое оба числа делятся без остатка. Это один из древнейших алгоритмов, который до сих пор широко используется.

Ключевая идея: любое число, которое делит и a, и b, также делит остаток от деления a на b (a mod b). Поэтому gcd(a, b) = gcd(b, a mod b). Повторение этой операции уменьшает пару чисел, пока остаток не станет равен 0.

Как работает алгоритм:

1. Разделить a на b и получить остаток r = a mod b
2. Если r равен 0, то ответ — b
3. В противном случае заменить пару чисел на (b, r) и повторить

Почему он быстрый:

Остаток уменьшается как минимум вдвое за каждые два шага, поэтому количество делений составляет O(log min(a, b)) — это намного быстрее, чем проверять каждый возможный делитель.

Временная сложность:

Лучшая: O(1)
Средняя: O(log min(a, b))
Худшая: O(log min(a, b))

Пространственная сложность: O(1) для итеративной версии

Свойства:

  • Детерминированный алгоритм, не использующий случайные значения
  • Использует только операцию взятия остатка от деления — факторизация не требуется
  • Является основой расширенного алгоритма Евклида, нахождения обратных элементов по модулю и сокращения дробей

Описанный древнегреческим математиком Евклидом в его труде «Начала» (~300 г. до н. э.), этот алгоритм до сих пор лежит в основе современной арифметики, криптографии (математики ключей RSA) и систем компьютерной алгебры.

Похожие алгоритмы

Частые вопросы

Что такое Алгоритм Евклида?
Алгоритм Евклида вычисляет наибольший общий делитель (НОД) двух целых чисел — наибольшее число, на которое оба числа делятся без остатка. Это один из древнейших алгоритмов, который до сих пор широко используется.
Какова сложность Алгоритм Евклида?
Время (среднее): O(log min(a, b)) · Память: O(1)
Для кого предназначена визуализация Алгоритм Евклида?
Визуализация Алгоритм Евклида рассчитана на начальный уровень в категории «Математика». Полезна для студентов, подготовки к собеседованиям и практического изучения.
Какие алгоритмы связаны с Алгоритм Евклида?
В той же категории (Математика) вы можете изучить: Sieve of Eratosthenes. Каждый из них имеет интерактивную визуализацию.