首页 > 技术文章 > 用linux c求最大公约数

imoing 2013-11-07 21:49 原文

我写了两中函数,一个是辗转相除法一个是更相减损法,主要代码如下:

/*辗转相除法*/
int
gcd(int a, int b) { if ( a % b == 0) { return b; } else { return gcd( b, a % b); } }
/*更相减损法*/
int gcd_sub(int a, int b) { int t; while(a != b){ if ( b > a ) { t = b; b = a; a = t; } a = a - b; } return a; }

 

 

代码量差别还真是够大的,汗!-_-,练手的东西,觉得更相减损法写的很乱。。。

推荐阅读