求两个正整数m,n的最大公约数和最小公倍数。c语言
时间: 2023-09-07 13:18:02 浏览: 90
以下是求最大公约数和最小公倍数的 C 语言代码:
```c
#include <stdio.h>
int main() {
int m, n, gcd, lcm, i;
printf("请输入两个正整数:\n");
scanf("%d %d", &m, &n);
// 求最大公约数
for (i = 1; i <= m && i <= n; i++) {
if (m % i == 0 && n % i == 0) {
gcd = i;
}
}
// 求最小公倍数
lcm = (m * n) / gcd;
printf("最大公约数为:%d\n", gcd);
printf("最小公倍数为:%d\n", lcm);
return 0;
}
```
在程序中,我们通过循环枚举 1 到 min(m, n) 的所有正整数,找到 m 和 n 的公共因子,最终得到它们的最大公约数。然后,我们通过 m 和 n 的乘积除以最大公约数,得到它们的最小公倍数。
阅读全文