how can I get the gcd for more than 2 terms?
Ältere Kommentare anzeigen
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
am 10 Jul. 2015
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
am 10 Jul. 2015
Kategorien
Mehr zu MATLAB finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!