我在计算GCD时遇到问题。通常MATLAB中的GCD使用两个变量(例如:a = 19,b = 88和gcd(a,b))。但我有一个变量数组K = [1 1 1 1 2 1 3 2],对于这个K,我想计算GCD。
如何计算K的最大公约数?
答案 0 :(得分:1)
因为gcd(gcd(a,b),c) is the same as gcd(a,b,c)你可以迭代K并获得数组的gcd。
g = K(1)
for i=2:numel(K)
g = gcd(g,K(i))
end
fprintf('The gcd is %i\n', g)
答案 1 :(得分:0)
将数组元素指定为符号向量的元素。
为您的问题 -
K = sym([1, 1, 1, 1, 2, 1, 3, 2])
gcd(K)