C语言求最大公约数和最小公倍数
时间: 2023-11-02 22:05:20 浏览: 69
c语言程序 求最大公约数和最小公倍数
计算最大公约数(GCD)和最小公倍数(LCM)的方法如下:
```c
#include <stdio.h>
// 计算最大公约数
int gcd(int m, int n) {
while (n != 0) {
int r = m % n;
m = n;
n = r;
}
return m;
}
// 计算最小公倍数
int lcm(int m, int n) {
int gcd_value = gcd(m, n);
return m * n / gcd_value;
}
int main() {
int a = 24, b = 36;
int gcd_value = gcd(a, b);
int lcm_value = lcm(a, b);
printf("gcd(%d, %d) = %d\n", a, b, gcd_value);
printf("lcm(%d, %d) = %d\n", a, b, lcm_value);
return 0;
}
```
这里的 `gcd()` 函数使用欧几里得算法,也称为辗转相除法,通过反复求余数的方式计算出两个数的最大公约数。 `lcm()` 函数则使用最大公约数计算出两个数的最小公倍数。
阅读全文