c++求1-10最大公约数
时间: 2024-09-27 09:11:30 浏览: 28
在C++中,求两个整数的最大公约数(Greatest Common Divisor, GCD)可以使用欧几里得算法(Euclidean Algorithm),也称为辗转相除法。以下是简单的实现:
```cpp
#include <iostream>
// 辗转相除法求最大公约数
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
int main() {
int num1 = 10;
int num2 = 1;
std::cout << "The greatest common divisor of " << num1 << " and " << num2 << " is: ";
int result = gcd(num1, num2);
std::cout << result << std::endl;
// 如果你需要计算1到10的所有数的最大公约数,可以稍微修改一下循环
for (int i = 1; i <= 10; ++i) {
for (int j = i + 1; j <= 10; ++j) {
result = gcd(i, j);
std::cout << "GCD of " << i << " and " << j << " is: " << result << std::endl;
}
}
return 0;
}
```
在这个例子中,`gcd()` 函数递归地调用自身,直到找到两个数的最大公约数。如果你想找出1到10之间的所有数对的最大公约数,可以在`main()`函数中添加一个嵌套循环。
阅读全文