如何用C++编程来计算两个整数的最大公约数(GCD)?
时间: 2024-12-14 14:21:51 浏览: 7
C++求四个正整数最大公约数的方法
5星 · 资源好评率100%
在C++中,可以使用欧几里得算法(Euclidean Algorithm)来计算两个整数的最大公约数(GCD)。以下是使用递归版本的欧几里得算法实现:
```cpp
#include <iostream>
// 函数声明
int gcd(int a, int b);
// 欧几里得算法的主体
int gcd(int a, int b) {
// 如果b为0,a就是GCD
if (b == 0)
return a;
else
// 否则,继续递归,用a除以b的余数作为新的a,b作为新的b
return gcd(b, a % b);
}
int main() {
int num1, num2;
std::cout << "请输入两个整数:" << std::endl;
std::cin >> num1 >> num2;
// 计算并打印最大公约数
int result = gcd(num1, num2);
std::cout << "这两个数的最大公约数是:" << result << std::endl;
return 0;
}
```
在这个程序中,用户输入两个整数,`gcd`函数会计算它们的最大公约数,并在主函数中显示结果。
阅读全文