Алгоритм Евклида — это широко известный алгоритм нахождения наибольшего общего делителя (НОД) двух целых чисел. В 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)