#include "stdafx.h"
#include "iostream"
using namespace std;
int gys(int a, int b) {
if (a<b) { //如果a<b,交换a和b
int x;
x = b;
b = a;
a = x;
}
if (a%b == 0) { //如果a能整除b, b为a和b的最大公约数
return b;
}
else { //如果不能整除,令c等于除以b的商,计算b和c的最大公约数
int c = a / b;
return gys(b, c);
}
}
int main()
{
int a;
int b;
cout << "输入第一个数" << endl;
cin >> a;
cout << "输入第二个数" << endl;
cin >> b;
cout << a << "和" << b << "的最大公约数是" << gys(a, b)<<endl;
return 0;
}
运行