C++辗转相除法求任意两个数的最大公约数
时间: 2023-10-13 17:04:54 浏览: 116
辗转相除法求两个数的最大公约数
下面是用C++实现辗转相除法求任意两个数的最大公约数的代码:
```c++
#include <iostream>
using namespace std;
int gcd(int a, int b){
while(b != 0){
int r = a % b;
a = b;
b = r;
}
return a;
}
int main(){
int a, b;
cout << "请输入两个数,以空格分隔:" << endl;
cin >> a >> b;
int result = gcd(a, b);
cout << "最大公约数为:" << result << endl;
return 0;
}
```
这里定义了一个函数`gcd`,用于实现辗转相除法求最大公约数。函数中用while循环反复执行以下步骤:
1. 计算a除以b的余数r。
2. 将b的值赋给a,将r的值赋给b。
3. 重复执行1和2,直到b等于0为止。
最后返回a的值,即为两个数的最大公约数。
在主函数中,通过输入两个数并调用`gcd`函数,输出最大公约数。
阅读全文