怎么用matlab编程求三个小数的最大公约数?例如:求41.942,49.625,50.38...
发布网友
发布时间:2022-06-21 15:39
我来回答
共1个回答
热心网友
时间:2024-09-10 12:46
小数没有公约数的,最大公约数的定义就是几个整数公有因子中最大的一个。
如果是整数的话,程序如下:
clear;clc;
A=[5 10 15]; %输入你想要求的数组
Gcd=[];c=[]; %定义空矩阵
for i=1:ceil(max(A)) %穷举法,把1-A中最大数之间的整数取出
for j=1:length(A)
c(j)=mod(A(j),i); %将A中所有数除i求余
end
if sum(c==0)==length(A) %判断c中所存是否都是0
Gcd=[Gcd i]; %都为0,则是公约数
end
end
fprintf('最大公约数为:%d',max(Gcd)); %取出最大公约数