📅  最后修改于: 2023-12-03 14:57:34.173000             🧑  作者: Mango
在计算机科学中,GCD(最大公约数)是两个或多个整数的最大公因数。在这个问题中,需要计算给定两个数组的所有成对和的GCD。
本问题可以通过使用嵌套循环来解决。外层循环迭代数组1,内层循环迭代数组2,并计算两个元素的GCD。然后将GCD添加到结果列表中。最后,计算最大公约数并返回。
以下是Python实现的示例代码:
import math
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
def pairwise_gcd(arr1, arr2):
result = []
for i in arr1:
for j in arr2:
result.append(gcd(i, j))
return math.gcd(*result)
假设给定两个数组 arr1 = [2, 4, 6]
和 arr2 = [8, 10, 12]
,则所有成对和的GCD如下:
因此,结果列表为 [2, 2, 2, 4, 2, 4, 2, 2, 6]
,最大公约数为 2
。
arr1 = [2, 4, 6]
arr2 = [8, 10, 12]
print(pairwise_gcd(arr1, arr2)) # Output: 2
本问题是一个简单的算法问题。通过使用嵌套循环和GCD函数,可以计算两个数组的所有成对和的GCD。最后,计算结果列表的最大公因数并返回。