我正在尋找最簡單的解決方案來獲取多個值的最大公約數。例如:多個(多於2個)數字的最大公約數
x=gcd_array(30,40,35) % Should return 5
x=gcd_array(30,40) % Should return 10
你會如何解決這個問題?
非常感謝!
我正在尋找最簡單的解決方案來獲取多個值的最大公約數。例如:多個(多於2個)數字的最大公約數
x=gcd_array(30,40,35) % Should return 5
x=gcd_array(30,40) % Should return 10
你會如何解決這個問題?
非常感謝!
gcd(a,b,c) = gcd(a,gcd(b,c))
這意味着你可以使用遞歸。
`% GCD OF list of Nos using Eucledian Alogorithm
function GCD= GCD(n);
x=1;
p=n;
while(size(n,2))>=2
p= n(:,size(n,2)-1:size(n,2));
n=n(1,1:size(n,2)-2);
x=1;
while(x~=0)
x= max(p)-min(p);
p = [x,min(p)];
end
n=[n,max(p)];
p= [];
end
'
[了兩個多號碼歐幾里得最大公約數(的
可能重複http://stackoverflow.com/questions/1231733/euclidian-greatest-common-divisor-for-more-那麼兩個數字) – starblue