最小公倍数用c++怎么写高效的代码
时间: 2024-05-03 15:21:37 浏览: 59
最小公倍数C++程序.pdf
以下是用 C 语言编写的高效的求最小公倍数的代码:
```c
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
int lcm(int a, int b) {
return a / gcd(a, b) * b;
}
int main() {
int num1, num2, result;
printf("Enter two numbers: ");
scanf("%d %d", &num1, &num2);
result = lcm(num1, num2);
printf("LCM of %d and %d is %d\n", num1, num2, result);
return 0;
}
```
上面的代码使用了欧几里得算法来求最大公约数,然后通过公式 LCM(a, b) = a * b / GCD(a, b) 来求最小公倍数。该算法时间复杂度为 O(log n),其中 n 是两个数中较大的那个数。因此,该算法是高效的。
阅读全文