如何使用C语言编写代码来计算并输出两个整数的最大公约数(GCD)和最小公倍数(LCM)?
时间: 2024-10-21 16:14:34 浏览: 19
c代码-输入两个正整数m和n,求其最大公约数和最小公倍数。
在C语言中,可以利用欧几里得算法(辗转相除法)来计算两个整数的最大公约数(GCD),然后使用GCD和两个数的乘积来计算最小公倍数(LCM)。这里给出一个简单的示例:
首先,计算最大公约数(GCD):
```c
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
int main() {
int num1, num2;
printf("请输入两个正整数: ");
scanf("%d %d", &num1, &num2);
int result = gcd(num1, num2);
printf("最大公约数(GCD)是: %d\n", result);
// 计算最小公倍数(LCM)
int lcm = num1 * num2 / result;
printf("最小公倍数(LCM)是: %d\n", lcm);
return 0;
}
```
在这个代码中,`gcd`函数递归地调用自身,直到找到两个数的公约数。
然后,在`main`函数中,我们获取用户的输入,调用`gcd`函数得到GCD,再用这个结果计算LCM。
阅读全文