how can I get the gcd for more than 2 terms?

I want to find the greatest common divisor of "n" terms to apply the following method 72 = 2 ^ 3 * 3 ^ 2 108 = 2 ^ 2 ^ 3 * 3 60 = 2 ^ 2 * 3 * 5 the gcd (76,108,60) will be = 2 ^ 2 * 3 = 12 It is the result of multiplying the common factors with lower exponent I have this so far it only works with this problem but I need it to work with any kind of terms
function mcd
B=[72 108 50];
a=1;
for i=1:length(B)
[p,h]=min(mode(factor(B(i))));
a=p.^h.*a;
end
disp(a);

Antworten (1)

Roger Stafford
Roger Stafford am 10 Jul. 2015

0 Stimmen

Just apply the 'gcd' function multiple times:
p = B(1);
for k = 2:length(B)
p = gcd(p,B(k));
end

1 Kommentar

alvaro castro
alvaro castro am 10 Jul. 2015
thanks a lot but what i want is to know how to solve it by the method that i wrote with factors

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu MATLAB finden Sie in Hilfe-Center und File Exchange

Tags

Noch keine Tags eingegeben.

Gefragt:

am 10 Jul. 2015

Kommentiert:

am 10 Jul. 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by