用cpp编写一个程序,用辗转相除法求 a、b两个整数的最大公约数(辗转相除法:首先将大的整数。作为被除数除以小的整数b获得余数,然后将前一步的除数作为大的整数a,余数作为小的整数口,大数除以小数,以此类推直到余数为0,此时得到最大公约数b)。
时间: 2024-11-25 15:33:09 浏览: 5
辗转相除法最大公约数.zip_C/C++_
5星 · 资源好评率100%
在 C++ 中,你可以使用递归的方式来实现辗转相除法(也称为欧几里得算法)计算两个整数 a 和 b 的最大公约数。以下是一个简单的示例:
```cpp
#include <iostream>
// 定义函数来计算最大公约数
int gcd(int a, int b) {
// 当b等于0时,a就是最大公约数
if (b == 0)
return a;
else
// 递归调用gcd函数,传入余数b和原来的小数a
return gcd(b, a % b);
}
int main() {
int num1, num2;
std::cout << "请输入两个整数: ";
std::cin >> num1 >> num2;
int result = gcd(num1, num2);
std::cout << "这两个数的最大公约数是: " << result << std::endl;
return 0;
}
```
在这个程序中,`gcd` 函数会持续接收较小的数作为除数,较大的数作为被除数,直到余数为0,最后返回的结果即为最大公约数。
阅读全文