利用穷举法求公约数的代码
时间: 2024-10-21 13:13:42 浏览: 15
求最大公约数的三种算法
在C++中,我们可以使用穷举法(也称为辗转相除法或欧几里得算法)来寻找两个整数的最大公约数(Greatest Common Divisor, GCD)。这种方法基于这样一个事实:对于任意两个正整数a和b(其中a >= b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数。
以下是一个简单的C++代码示例:
```cpp
#include <iostream>
int gcd(int a, int b) {
// 如果b为0,那么a就是最大公约数
if (b == 0) {
return a;
} else {
// 否则,递归地计算b和a除以b的余数的最大公约数
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`函数接受两个参数并返回它们的最大公约数。如果b为0,函数直接返回a;否则,继续调用自身,但把b和a除以b的余数作为新的参数。
阅读全文