短除法求最大公约数
C++ 代码
# include <iostream>
# include <cstdio>
using namespace std;
int getmin(int a, int b)
{
if (a < b) return a;
return b;
}
int gcd (int a, int b)
{
static int max = 1;
int min = getmin(a, b);
for (int i = 2; i <= min; i++)
{
if (a % i == 0 && b % i == 0)
{
a /= i;
b /= i;
max *= i;
gcd (a, b);
break;
}
}
return max;
}
int main()
{
int a, b;
cin >> a >> b;
cout << gcd (a, b);
}