用C语言输入两个正整数m和n,求其最大公约数和最小公倍数
时间: 2023-05-13 13:07:27 浏览: 73
您好,以下是您所需的代码:
```c
#include <stdio.h>
int main() {
int m, n, gcd, lcm, remainder, numerator, denominator;
printf("请输入两个正整数m和n:\n");
scanf("%d%d", &m, &n);
numerator = m > n ? m : n;
denominator = m > n ? n : m;
remainder = numerator % denominator;
while (remainder != 0) {
numerator = denominator;
denominator = remainder;
remainder = numerator % denominator;
}
gcd = denominator;
lcm = m * n / gcd;
printf("最大公约数为:%d\n", gcd);
printf("最小公倍数为:%d\n", lcm);
return 0;
}
```
希望能够帮到您!
相关问题
用C语言输入两个正整数m和n求其最大公约数和最小公倍数
```c
#include <stdio.h>
int gcd(int a, int b); // 求最大公约数函数
int lcm(int a, int b); // 求最小公倍数函数
int main()
{
int m, n;
printf("请输入两个正整数m和n:");
scanf("%d %d", &m, &n);
printf("它们的最大公约数是:%d\n", gcd(m, n));
printf("它们的最小公倍数是:%d\n", lcm(m, n));
return 0;
}
// 求最大公约数函数
int gcd(int a, int b)
{
int temp;
while (b > 0)
{
temp = a % b;
a = b;
b = temp;
}
return a;
}
// 求最小公倍数函数
int lcm(int a, int b)
{
return a * b / gcd(a, b);
}
```
c语言输入两个正整数m,n求其最大公约数和最小公倍数
下面是C语言代码,可以输入两个正整数m和n,求它们的最大公约数和最小公倍数:
```c
#include <stdio.h>
int main() {
int m, n, a, b, temp, r = 0, min = 0;
printf("请输入两个正整数:\n");
scanf("%d%d", &m, &n);
a = m;
b = n;
if (a < b) { //交换大小顺序,大数对小数取余
temp = a;
a = b;
b = temp;
}
r = a % b;
while (r != 0) { //辗转相除求最大公因数,b即为最后的最大公因数
a = b;
b = r;
r = a % b;
}
min = (m * n) / b; //最小公倍数
printf("最大公约数:%d\n最小公倍数:%d\n", b, min);
return 0;
}
```
阅读全文