您的位置:首页 > 其它

求最大公约数

2016-04-12 22:27 211 查看
参考博客: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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: