最大公因数和最小公倍数怎么求用C++
时间: 2024-11-28 21:17:08 浏览: 11
C++ 实现求最大公约数和最小公倍数
5星 · 资源好评率100%
在C++中,最大公因数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)通常通过欧几里得算法(Euclidean Algorithm)来计算。以下是基本的实现:
1. **最大公因数 (GCD)**:
- 使用递归或迭代方式实现欧几里得算法。
```cpp
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
```
或者使用辗转相除法:
```cpp
int gcd(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
```
2. **最小公倍数 (LCM)**:
- 根据公式 `LCM(a, b) = |a * b| / GCD(a, b)` 来计算,其中`|.|` 表示绝对值。
```cpp
int lcm(int a, int b) {
return abs(a * b) / gcd(a, b);
}
```
阅读全文