最大公约数

题目描述

求两个正整数a 和 b的最大公约数。

要求使用c++ class编写程序。可以创建如下class

#include <iostream>
using namespace std;
class Integer {
private:
    int _num;
public:
//构造函数
    Integer(int num) {
    }
//计算当前Integer 和 b之间的最大公约数
    int gcd(Integer b) {
    }
};
int main(){
    int a, b;
    cin >> a >> b;
    Integer A(a);
    Integer B(b);
    cout << A.gcd(B) << endl;
    return 0;
}

  输入描述

两个正整数a,b,并且1=<a,b <=10000

输出描述

a和b的最大公约数

样例输入

1000 1000

样例输出

1000
#include <iostream>
using namespace std;
class Integer {
private:
	int _num;
public:
	//构造函数
	Integer(int num):_num(num){
	}
	//计算当前Integer 和 b之间的最大公约数
	int gcd(Integer b) {
		int x1, x2, temp;
		x1 = _num;
		x2 = b._num;
		while (x2) {
			temp = x2;
			x2 = x1 % x2;
			x1 = temp;
		}
		return x1;
	}
};
int main() {
	int a, b;
	cin >> a >> b;
	Integer A(a);
	Integer B(b);
	cout << A.gcd(B) << endl;
	return 0;
}