Подключиться через MCP →

Введите расчет

Математическая формула

Show calculation steps (1)
  1. LCM (from GCD)

    LCM (from GCD): Калькулятор алгоритма Евклида (НОД)

    LCM is derived as the product of a and b divided by their GCD.

Реклама

Результатов

Наибольший общий делитель
12
gcd(48, 36)
НОД 12
НОК 144

Что такое алгоритм Евклида?

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

Как пользоваться калькулятором

Введите два числа в поля a и b и нажмите кнопку расчёта. В качестве основного результата вы получите НОД, а дополнительно — НОК. Порядок чисел не важен: НОД(48, 36) равен НОД(36, 48). Отрицательные значения берутся по модулю, а если одно из чисел равно 0, то НОД совпадает со вторым числом.

Разбор формулы

В основе алгоритма лежит простая идея: любой общий делитель чисел a и b делит и их остаток a mod b. Поэтому мы раз за разом заменяем большее число остатком от деления:

$$\gcd(a,b) = \gcd(b,\, a \bmod b), \quad \gcd(a,0) = a$$

На каждом шаге числа быстро уменьшаются, поэтому даже огромные значения сходятся за считаные итерации. НОК затем находится по формуле $$\operatorname{lcm}(a,b) = \dfrac{a \times b}{\gcd(a,b)}$$

Цепочка шагов деления, сводящая два числа к их НОД
Каждый шаг заменяет (a, b) на (b, a mod b), пока остаток не станет нулём.

Разбор примера

Найдём \(\gcd(48, 36)\):

$$48 \bmod 36 = 12 \rightarrow \gcd(36, 12)$$
$$36 \bmod 12 = 0 \rightarrow \gcd(12, 0) = \mathbf{12}$$

Итак, НОД равен 12, а НОК \(= \dfrac{48 \times 36}{12} = \dfrac{1728}{12} = \mathbf{144}\).

Прямоугольник, разбитый на квадраты, показывает НОД как наибольший замощающий квадрат
Геометрически НОД — это сторона наибольшего квадрата, замощающего прямоугольник a×b.

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

А если оба числа равны 0? НОД нуля и нуля здесь принимается равным 0, и НОК тоже равен 0, поскольку положительного кратного не существует.

Почему это быстрее, чем перебирать делители? Вместо поиска всех делителей алгоритм использует трюк с остатком, резко сокращая размер задачи на каждом шаге — обычно за логарифмическое время.

Справится ли он с очень большими числами? Да. Алгоритм Евклида эффективен даже для многозначных чисел: ему нужно лишь небольшое количество операций взятия остатка.

Последнее обновление: