【MATLAB编程】求两个整数的最大公约数和最小公倍数

问题描述】求两个整数的最大公约数和最小公倍数
思路分析
最大公约数

1.求两个整数的最大公约数时,先用较大数除以较小数,如果能整除,最大公约数就等于较小数;否则用较小数除以第一步的余数,如果能整除,最大公约数就等于第一步的余数;否则,用当前获得的余数除以上一步的余数,直到能整除为止。此时作为除数的那个数就是最开始那两个数的最大公约数。

最小公倍数

2.求两个整数的最小公倍数时,两个整数相乘除以最大公约数即可得到最小公倍数。

主程序代码

clear all;
close all;
%%
N1 = 21;
N2 = 15;
y1 = Gcd(N1,N2);
y2 = Lcm(N1,N2);

最大公约数函数

function y1 = Gcd(N1,N2)
%UNTITLED2 此处显示有关此函数的摘要
%   此处显示详细说明
if N2 > N1
    t  = N1;
    N1 = N2;
    N2 = t;
end
while  ((mod(N1,N2)~=0))
     r  = mod(N1,N2);
     N1 = N2; 
     N2 = r;
end 
    y1 = N2;
end

最小公倍数函数

function y2 = Lcm(N1,N2)
%UNTITLED2 此处显示有关此函数的摘要
%   此处显示详细说明
y1 = Gcd(N1,N2);
y2 = (N1*N2)/y1;
end

运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/kzpx_1106/article/details/127791971