Алгоритм Евклида Python: методы поиска наибольшего общего делителя (НОД)

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

Метод 1: итеративный подход

def euclidean_algorithm(a, b):
    while b != 0:
        a, b = b, a % b
    return a

Метод 2: рекурсивный подход

def euclidean_algorithm(a, b):
    if b == 0:
        return a
    return euclidean_algorithm(b, a % b)

Метод 3: математическая библиотека
Python предоставляет встроенную функцию math.gcd, которая использует алгоритм Евклида для вычисления НОД.

import math
gcd = math.gcd(a, b)

Метод 4: библиотека NumPy
Если вы работаете с массивами или вам необходимо вычислить НОД поэлементно, вы можете использовать функцию numpy.gcd.

import numpy as np
gcd_array = np.gcd(a_array, b_array)