c语言最小公倍数和最大公约数代码
时间: 2024-10-24 11:12:14 浏览: 45
C语言实现最大公约数和最小公倍数算法
在C语言中,计算两个整数的最大公约数(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("它们的最大公约数是: %d\n", result);
return 0;
}
```
### 最小公倍数 (LCM)
计算最小公倍数通常需要先找到最大公约数,然后用两数乘积除以最大公约数即可:
```c
// 计算两数的最小公倍数
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
int main() {
// 已经有了gcd函数,这里直接调用
int lcm_value = lcm(num1, num2);
printf("它们的最小公倍数是: %d\n", lcm_value);
return 0;
}
```
阅读全文