c++求最大公约数代码
时间: 2023-12-10 07:33:15 浏览: 41
以下是C++求最大公约数的代码:
```c++
#include<iostream>
using namespace std;
int gcd(int x, int y) {
int i;
for(i = 1000; i > 0; i--) {
if((x % i == 0) && (y % i == 0)) {
return i;
}
}
}
int main() {
int a, b, res;
cin >> a >> b;
res = gcd(a, b);
cout << res << endl;
return 0;
}
```
该代码使用了暴力遍历的方法,从1000开始递减遍历,找到a和b的最大公约数后返回。
相关问题
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 lcm(int a, int b) {
return a * b / gcd(a, b);
}
int main() {
int a = 12, b = 18;
cout << "最大公约数:" << gcd(a, b) << endl;
cout << "最小公倍数:" << lcm(a, b) << endl;
return 0;
}
```
上述代码中,我们定义了两个函数`gcd`和`lcm`,分别用于求最大公约数和最小公倍数。其中,`gcd`函数使用了递归的方式实现,当`b`为0时,返回`a`,否则返回`gcd(b, a % b)`。`lcm`函数则直接使用公式`a * b / gcd(a, b)`计算最小公倍数。
在`main`函数中,我们定义了两个整型变量`a`和`b`,并输出了它们的最大公约数和最小公倍数。
C++面向对象求最大公约数代码
以下是使用C++面向对象编写的求最大公约数的代码:
```cpp
#include <iostream>
using namespace std;
// 定义一个类
class GCDCalculator {
private:
int num1;
int num2;
public:
// 构造函数
GCDCalculator(int x, int y) {
num1 = x;
num2 = y;
}
// 成员函数,用于计算最大公约数
int calculateGCD() {
int a = num1;
int b = num2;
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
};
int main() {
int x, y;
cout << "请输入两个数字:" << endl;
cin >> x >> y;
// 创建一个GCDCalculator的对象
GCDCalculator calculator(x, y);
// 调用成员函数计算最大公约数
int gcd = calculator.calculateGCD();
cout << "最大公约数为:" << gcd << endl;
return 0;
}
```
这段代码创建了一个名为GCDCalculator的类,其中包含一个构造函数和一个成员函数calculateGCD(),用于计算最大公约数。在主函数中,首先获取用户输入的两个数字,然后创建一个GCDCalculator对象,将用户输入的数字传入构造函数中。最后调用calculateGCD()函数计算最大公约数并输出结果。
希望这段代码能够满足您的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>