Алгоритм Евклида

Алгоритм Евклида представляет собой удивительно простой поиск наибольшего общего делителя (НОД или gcd).

Выглядит он следующим образом:

Пусть , - числа для которых нужно найти НОД.

Запишем следующий ряд:

Где

,

,

Этот ряд сходится к нулю, т.к. остаток от деления всегда меньше, чем делитель. Таким образом,

Но самое важное, что

Для удобства и скорости вычисления можно предварительно поменять местами , так чтобы . Если этого не сделать, то итераций будет на одну больше. Первая итерация сама поменяет их местами, т.к при