求两个最大公约数和最小公倍数
时间: 2023-12-10 09:33:42 浏览: 85
以下是Python代码,用于计算两个数的最大公约数和最小公倍数:
```python
# 计算最大公约数
def gcd(a, b):
while b:
a, b = b, a % b
return a
# 计算最小公倍数
def lcm(a, b):
return a * b // gcd(a, b)
# 示例
a, b = 12, 18
print("最大公约数:", gcd(a, b)) # 输出:6
print("最小公倍数:", lcm(a, b)) # 输出:36
```
相关问题
求两个整数的最大公约数和最小公倍数,用一个函数求最大公约数。用另一函数根据求出的最大公约数求最小公倍数 ①不用全局变量,分别用两个函数求最大公约数和最小公倍数。两个整数在主函数中输人,并传送给函数hcf,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数lcd,求出最小公倍数,返回到主函数输出最大公约数和最小公倍数。 用c语言来写
以下是C语言代码实现:
```c
#include <stdio.h>
int hcf(int x, int y) { // 求最大公约数
int i, h;
for (i = 1; i <= x && i <= y; i++) {
if (x % i == 0 && y % i == 0) {
h = i;
}
}
return h;
}
int lcd(int x, int y) { // 求最小公倍数
int l = (x * y) / hcf(x, y);
return l;
}
int main() {
int a, b, h, l;
printf("请输入两个整数:");
scanf("%d%d", &a, &b);
h = hcf(a, b); // 求最大公约数
l = lcd(a, b); // 根据最大公约数求最小公倍数
printf("最大公约数为:%d\n", h);
printf("最小公倍数为:%d\n", l);
return 0;
}
```
运行结果:
```
请输入两个整数:12 18
最大公约数为:6
最小公倍数为:36
```
求两个整数的最大公约数和最小公倍数 。定义一个函数求最大公约数,定义另一个函数根据求出的最大公约数求最小公倍数。在主函数中输出最大公约数和最小公倍数 。
最大公约数(GCD)是两个或多个整数的最大公因数,最小公倍数(LCM)是两个或多个整数的最小公倍数。
定义一个函数来计算最大公约数,可以使用欧几里得算法,也称为辗转相除法。该算法的基本思想是,用较小的数除以较大的数,然后用余数(余数)替换较小的数,重复此过程,直到余数为零。此时,较大的数就是最大公约数。
定义另一个函数来计算最小公倍数,可以使用以下公式:
LCM(a,b)=(a * b)/ GCD(a,b)
在主函数中,您可以调用这两个函数来计算最大公约数和最小公倍数,并将结果输出到控制台。
阅读全文