输入m.n求最大公约数和最小公倍数,用c语言
时间: 2024-09-28 13:10:56 浏览: 1
在C语言中,可以使用欧几里得算法(Euclidean algorithm)来计算两个整数m和n的最大公约数(Greatest Common Divisor, GCD),然后通过公式gcd(m, n) * m * n / (m * n) 计算它们的最小公倍数(Least Common Multiple, LCM)。以下是简单的步骤和代码示例:
首先,这里是一个计算GCD的函数:
```c
// 求最大公约数
int gcd(int m, int n) {
if (n == 0)
return m;
else
return gcd(n, m % n);
}
```
接下来,你可以创建一个函数来计算LCM:
```c
// 求最小公倍数
int lcm(int m, int n) {
return (m * n) / gcd(m, n); // 使用上面的gcd函数
}
```
如果你想让用户输入m和n,并得到结果,可以在主程序中添加如下代码:
```c
#include <stdio.h>
int main() {
int m, n;
printf("请输入两个数字: ");
scanf("%d %d", &m, &n);
int result_gcd = gcd(m, n);
int result_lcm = lcm(m, n);
printf("最大公约数: %d\n", result_gcd);
printf("最小公倍数: %d\n", result_lcm);
return 0;
}
```
运行这个程序,用户将输入两个数,然后会看到它们的最大公约数和最小公倍数。