用matlab编程实现求两个正整数的最大公约数和最小公倍数,其中两个正整数由键盘输入。
时间: 2023-06-17 14:05:02 浏览: 186
可以使用辗转相除法求最大公约数,最小公倍数可以用两数乘积除以最大公约数计算。以下是示例代码:
```matlab
% 从键盘获取两个正整数
a = input('请输入第一个正整数:');
b = input('请输入第二个正整数:');
% 求最大公约数
while b ~= 0
r = mod(a,b);
a = b;
b = r;
end
gcd = a;
% 求最小公倍数
lcm = (a*b) / gcd;
% 输出结果
fprintf('最大公约数为:%d\n', gcd);
fprintf('最小公倍数为:%d\n', lcm);
```
运行程序后,会提示输入两个正整数,输入后即可得到最大公约数和最小公倍数的计算结果。
相关问题
matlab编程实现任意两个正整数的最小公倍数
以下是 Matlab 实现任意两个正整数的最小公倍数的代码:
```matlab
function [lcm_num] = lcm(a, b)
% LCM - 计算两个正整数 a 和 b 的最小公倍数
% 语法:[lcm_num] = lcm(a, b)
% 返回值:
% - lcm_num:最小公倍数
% 参数:
% - a:正整数
% - b:正整数
% 计算 a 和 b 的最大公约数
gcd_num = gcd(a, b);
% 计算最小公倍数
lcm_num = a * b / gcd_num;
end
```
使用方法:
1. 打开 Matlab 软件;
2. 复制上述代码并粘贴到 Matlab 命令窗口中;
3. 输入两个正整数,例如 `a = 12` 和 `b = 18`;
4. 调用 `lcm` 函数,例如 `lcm(a, b)`;
5. Matlab 将输出 `lcm_num`,即 `36`,表示 `12` 和 `18` 的最小公倍数为 `36`。
注意事项:
1. `a` 和 `b` 必须为正整数;
2. `lcm` 函数返回的最小公倍数为整数;
3. 如果使用 Matlab R2015b 或更早版本,请将 `gcd` 函数替换为 `gcd_old` 函数,即 `gcd_num = gcd_old(a, b)`。
MATLAB输入两个正整数,输出最大公约数和最小公倍数
下面是MATLAB代码实现:
```matlab
% 输入两个正整数
a = input('请输入第一个正整数:');
b = input('请输入第二个正整数:');
% 计算最大公约数
gcd = gcd(a, b);
% 计算最小公倍数
lcm = a * b / gcd;
% 输出结果
fprintf('最大公约数为:%d\n', gcd);
fprintf('最小公倍数为:%d\n', lcm);
```
其中,`gcd`函数用于计算最大公约数,`lcm`通过公式$a*b/gcd(a,b)$来计算最小公倍数。
阅读全文
相关推荐














