matlab求两个数的最大公约数
发布网友
发布时间:2022-06-21 15:39
我来回答
共2个回答
热心网友
时间:2022-07-01 06:34
%% 新建一个m文件,复制这段代码,
...然后保存名为TGCD.m的文件,
...保存路径为默认路径就行,在command窗口
...调用该函数,用法如代码后面的注释所示
function TargetOutput=TGCD(x)
% x为正整数矩阵
minx=min(min(x));
Rem=mod(x,minx);
if find(Rem~=0,1)
if mod(minx,2)
minx=(minx-1)/2;
else
minx=minx/2;
end
else
TargetOutput=minx;
return;
end
for i=minx:-1:1
Rem=mod(x,i);
if find(Rem~=0,1)
else
TargetOutput=i;
break;
end
end
end
%{
如:
a=[60 90 24;36 72 96]
a =
60 90 24
36 72 96
TGCD(a)
ans =
6
%}追问大神,给跪了,好复杂的说。还有几个程序语言没学>...<
追答还好吧,其实matlab语言还是蛮好懂的,最大的难点就是它是基于矩阵的操作计算
热心网友
时间:2022-07-01 06:34
function [ yue] = myFind( x, y )
% yue是最大公约数
%求最大公约数,
a = x;
b = y;
yue = 1;
for i=1:1:a
c = mod(a, i);
d = mod(b, i);
if c==0 && d==0
yue = i;
end
end