用c语言编写程序,从键盘输入两个正整数m和n,求出m与n的最小公倍数。 测试数据: (1)输入:3,5 输出:15 (2)输入:9,7 输出:63
时间: 2025-02-22 19:31:37 浏览: 61
在C语言中,计算两个正整数的最小公倍数(LCM)可以使用欧几里得算法(辗转相除法),也可以通过它们的乘积除以最大公约数(GCD)得到。以下是使用GCD来计算LCM的一个简单示例:
```c
#include <stdio.h>
// 使用欧几里得算法计算最大公约数
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
// 计算最小公倍数
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);
// 检查输入是否为正整数
if (m <= 0 || n <= 0) {
printf("输入错误! 请输入正整数。\n");
return 1;
}
int lcm_result = lcm(m, n);
printf("最小公倍数是: %d\n", lcm_result);
return 0;
}
```
对于给出的测试数据:
1. 当输入3和5时,运行此程序会输出15;
2. 当输入9和7时,输出结果也是63。
如果你想测试这个程序,可以直接复制以上代码到C编译器中运行,并按照提示输入相应的数字。如果想了解如何使用辗转相除法实现LCM,可以告诉我,我会进一步说明。
阅读全文
相关推荐

















