求三个数的最大公约数c++
时间: 2024-09-16 20:01:15 浏览: 63
C++求最大公约数四种方法解析
在C++中,求三个数的最大公约数(Greatest Common Divisor, GCD)可以使用辗转相除法(欧几里得算法)或者更高级的算法,如欧拉的扩展欧几里得算法。这里提供一个基于辗转相除法的简单示例:
```cpp
#include <iostream>
// 辗转相除法求最大公约数
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
// 用于求三个数的最大公约数
int gcdThree(int a, int b, int c) {
return gcd(gcd(a, b), c);
}
int main() {
int num1, num2, num3;
std::cout << "请输入三个整数:" << std::endl;
std::cin >> num1 >> num2 >> num3;
int result = gcdThree(num1, num2, num3);
std::cout << "三个数的最大公约数是: " << result << std::endl;
return 0;
}
```
在这个程序中,`gcd`函数负责计算两个数的最大公约数,然后`gcdThree`函数递归地调用`gcd`来处理三个数的情况。
阅读全文