c语言用函数求公约公倍数
时间: 2024-12-17 07:18:35 浏览: 18
在C语言中,计算两个数的最大公约数(Greatest Common Divisor, GCD)通常使用欧几里得算法(Euclidean Algorithm),而求最小公倍数(Least Common Multiple, LCM)则可以借助于GCD来计算。这里是一个简单的示例:
首先,我们定义一个函数计算GCD:
```c
// 使用欧几里得算法计算最大公约数
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
```
然后,利用GCD来计算LCM:
```c
// 计算最小公倍数
int lcm(int a, int b) {
return (a * b) / gcd(a, b); // 最小公倍数等于两数乘积除以其最大公约数
}
```
你可以像这样使用这两个函数:
```c
#include <stdio.h>
int main() {
int num1, num2;
printf("请输入两个数字: ");
scanf("%d %d", &num1, &num2);
int gcd_result = gcd(num1, num2);
int lcm_result = lcm(num1, num2);
printf("最大公约数(GCD): %d\n", gcd_result);
printf("最小公倍数(LCM): %d\n", lcm_result);
return 0;
}
```
阅读全文