编程:输入m和n,求其最大公约数和最小公倍数c语言程序
时间: 2024-10-27 10:11:56 浏览: 104
输入两个正整数m和n,求其最大公因数和最小公倍数
在C语言中,我们可以使用欧几里得算法(辗转相除法)来计算两个整数m和n的最大公约数(GCD),然后利用GCD和乘积的关系来得到最小公倍数(LCM)。以下是相应的程序:
```c
#include <stdio.h>
// 计算最大公约数(GCD)的函数
int gcd(int m, int n) {
if (n == 0)
return m;
else
return gcd(n, m % n);
}
// 根据GCD和乘积关系计算最小公倍数(LCM)
int lcm(int m, int n) {
return (m * n) / gcd(m, n);
}
int main() {
int m, n;
// 输入两个整数
printf("请输入两个正整数 m 和 n:");
scanf("%d%d", &m, &n);
// 计算并打印最大公约数和最小公倍数
int result_gcd = gcd(m, n);
int result_lcm = lcm(m, n);
printf("最大公约数(GCD): %d\n", result_gcd);
printf("最小公倍数(LCM): %d\n", result_lcm);
return 0;
}
```
在这个程序中,用户会被提示输入两个整数m和n,然后`gcd()`函数会计算它们的最大公约数,而`lcm()`函数则通过`gcd()`的结果和两个数的乘积来计算最小公倍数。
阅读全文