用于两个以上(或数组)数字的 GCD 的Python程序
三个或更多数的 GCD 等于所有数共有的质因数的乘积,但也可以通过重复取数对的 GCD 来计算。
gcd(a, b, c) = gcd(a, gcd(b, c))
= gcd(gcd(a, b), c)
= gcd(gcd(a, c), b)
# GCD of more than two (or array) numbers
# This function implements the Euclidian
# algorithm to find H.C.F. of two number
def find_gcd(x, y):
while(y):
x, y = y, x % y
return x
l = [2, 4, 6, 8, 16]
num1=l[0]
num2=l[1]
gcd=find_gcd(num1,num2)
for i in range(2,len(l)):
gcd=find_gcd(gcd,l[i])
print(gcd)
# Code contributed by Mohit Gupta_OMG
输出:
2
有关更多详细信息,请参阅有关两个以上(或数组)数字的 GCD 的完整文章!