c++求两个正整数的最大公约数代码
时间: 2023-08-24 15:18:18 浏览: 129
计算两个正整数的最大公约数C语言代码
以下是使用欧几里得算法(辗转相除法)求两个正整数的最大公约数的 C++ 代码:
```c++
#include <iostream>
using namespace std;
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int main() {
int a, b;
cout << "请输入两个正整数:";
cin >> a >> b;
int result = gcd(a, b);
cout << a << " 和 " << b << " 的最大公约数为:" << result << endl;
return 0;
}
```
代码中,`gcd` 函数使用递归实现了欧几里得算法,当 `b` 为 0 时,返回 `a`,否则返回 `gcd(b, a % b)`。在 `main` 函数中,先读入两个正整数 `a` 和 `b`,然后调用 `gcd` 函数求它们的最大公约数,并输出结果。
例如,当输入 `12` 和 `18` 时,输出为:
```
请输入两个正整数:12 18
12 和 18 的最大公约数为:6
```
阅读全文