用c语言输入两个正整数 m 和 n,求其最大公约数和最小公倍数。
时间: 2024-03-24 08:32:28 浏览: 119
输入两个正整数m和n,求其最大公约数和最小公倍数
以下是用C语言求两个正整数m和n的最大公约数和最小公倍数的代码:
```c
#include <stdio.h>
int main() {
int m, n, t, d;
printf("请输入两个数:\n");
scanf("%d%d", &m, &n);
if (m < n) {
t = m;
m = n;
n = t;
}
for (d = n; d >= 1; d--) {
if (n % d == 0 && m % d == 0) {
printf("最大公约数为%d\n", d);
printf("最小公倍数为%d", m * n / d);
break;
}
}
return 0;
}
```
代码说明:
1. 首先输入两个正整数m和n;
2. 如果m小于n,则交换m和n的值;
3. 从n开始循环,找到最大公约数d,当n和m都能被d整除时,输出d和最小公倍数m*n/d;
4. 如果循环结束仍未找到最大公约数,则说明m和n互质,最大公约数为1,最小公倍数为m*n。
阅读全文