C++3个数的最大公因数
时间: 2024-11-21 19:26:16 浏览: 7
计算输入三个数的最大公约数-C++程序设计(谭浩强完整版)
在C++中计算三个数的最大公因数(Greatest Common Divisor,GCD),可以采用欧几里得算法(也称为辗转相除法)。对于任意三个整数a、b和c,首先找到前两个数(a和b)的最大公因数,然后再用这个结果去和第三个数c求最大公因数。以下是步骤:
1. 首先计算a和b的最大公因数,通常我们用`std::gcd(a, b)`函数,如果没有现成库,可以自定义一个递归版本的GCD函数。
2. 然后计算上一步得到的结果和c的最大公因数,即`std::gcd(gcd_result, c)`或者自定义递归版本。
这里是一个简单的示例代码片段:
```cpp
#include <algorithm> // 如果没有包含此头文件,需要自定义GCD函数
int gcd(int a, int b) {
return (b == 0) ? a : gcd(b, a % b);
}
// 计算三个数的最大公因数
int gcdThreeNumbers(int a, int b, int c) {
return gcd(std::gcd(a, b), c);
}
int main() {
int num1 = 48, num2 = 18, num3 = 24;
int result = gcdThreeNumbers(num1, num2, num3);
std::cout << "The GCD of " << num1 << ", " << num2 << ", and " << num3 << " is: " << result << std::endl;
return 0;
}
```
阅读全文