写一个同时求最大公约数和最小公倍数的文件
时间: 2024-02-01 11:36:33 浏览: 23
下面是一个Python程序,可以同时求出两个整数的最大公约数和最小公倍数:
```python
def gcd(a, b):
"""计算a和b的最大公约数"""
while b:
a, b = b, a % b
return a
def lcm(a, b):
"""计算a和b的最小公倍数"""
return a * b // gcd(a, b)
# 读取输入的两个整数
a = int(input("请输入第一个整数:"))
b = int(input("请输入第二个整数:"))
# 计算并输出最大公约数和最小公倍数
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
```
你可以将这段代码保存在一个.py文件中,然后在命令行中运行该文件。例如,如果你将代码保存在gcd_lcm.py文件中,则可以在命令行中输入以下命令运行该程序:
```
python gcd_lcm.py
```
程序会提示你输入两个整数,然后计算并输出它们的最大公约数和最小公倍数。
相关问题
c语言写一个同时求最大公约数和最小公倍数的文件
以下是一个同时求最大公约数和最小公倍数的C语言程序:
```c
#include <stdio.h>
int gcd(int a, int b) { // 求最大公约数
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int lcm(int a, int b) { // 求最小公倍数
return a * b / gcd(a, b);
}
int main() {
int a, b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
printf("最大公约数:%d\n", gcd(a, b));
printf("最小公倍数:%d\n", lcm(a, b));
return 0;
}
```
该程序通过递归方式求最大公约数,然后通过最大公约数计算最小公倍数。在主函数中,用户输入两个整数,程序会输出它们的最大公约数和最小公倍数。
用MATLAB编写函数文件,输入两个正整数,输出最大公约数和最小公倍数
可以使用辗转相除法求最大公约数,求出最大公约数后,根据两数乘积等于最大公约与最小公倍数的积,即可求得最小公倍数。
以下是一个实现:
```matlab
function [gcd_num, lcm_num] = gcd_lcm(a, b)
% 计算最大公约数和最小公倍数
% 求最大公约数
while b ~= 0
r = mod(a, b);
a = b;
b = r;
end
gcd_num = a;
% 求最小公倍数
lcm_num = a * (b / gcd_num);
end
```
使用方法如下:
```matlab
[a, b] = gcd_lcm(12, 18);
disp(['最大公约数为:', num2str(a)]);
disp(['最小公倍数为:', num2str(b)]);
```
输出结果为:
```
最大公约数为:6
最小公倍数为:36
```