参考博客:http://blog.chinaunix.net/uid-24753924-id-177344.html 和 http://canlynet.iteye.com/blog/1095722
参考一:
void swap(int & a, int & b)
{
int c = a;
a = b;
b = c;
}
int gcd(int a,int b)
{
if(0 == a )
{
return b;
}
if( 0 == b)
{
return a;
}
if(a > b)
{
swap(a,b);
}
int c;
for(c = a % b ; c > 0 ; c = a % b)
{
a = b;
b = c;
}
// 这个for循环可以改为while,如下:
/* c = a % b;
while(c>0)
{
a=b;
b=c;
c=a%b;
}
*/
return b;
}
参考二:
int gcd(int i, int j)
{
if (i<=0 || j<=0)
return -1;
while (i != j) {
if (i > j)
i -= j;
else
j -= i;
}
return i;
}