版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/YewSpadeJ/article/details/82427854
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
inline int GCD(int x,int y)
{
int i,j;
for(i = 0;0 == (x & 1);++i)x >>= 1;
for(j = 0;0 == (y & 1);++j)y >>= 1;
if(j < i) i = j;
while(1){
if(x < y) x ^= y;y ^= x;x ^= y;
if(0 == (x == y))return y <<i;
while(0 == (x&1)) x >>= 1;}
}