У меня проблема в вычислении GCD. Обычно GCD в MATLAB использует две переменные (например: a = 19, b = 88 и gcd (a, b)). Но у меня есть один переменный массив K = [1 1 1 1 2 1 3 2], и для этого K я хочу рассчитать GCD.
Как вычислить наибольший общий делитель K?Как рассчитать GCD в MATLAB (переменная массив)?
1
A
ответ
1
Поскольку gcd(gcd(a,b),c) is the same as gcd(a,b,c) вы можете итерацию через K и получить НОД массива.
g = K(1)
for i=2:numel(K)
g = gcd(g,K(i))
end
fprintf('The gcd is %i\n', g)
0
Укажите элементы массива как элементы символьного вектора.
Для вашего проблемно
K = sym([1, 1, 1, 1, 2, 1, 3, 2])
gcd(K)
и результат: fr = 1 – user3752566