最大公约数gcd

1478阅读 0评论2012-01-27 kgatheko
分类:C/C++

  1. int gcd1(int i,int j) {
  2.         while(i>0) {
  3.                 if(i<j) {
  4.                   /* swap i and j*/
  5.                         j=i^j;
  6.                         i=i^j;
  7.                         j=i^j;
  8.                 }
  9.                 i=i-j;
  10.         }
  11.         return j;
  12. }


int gcd2(int i,int j) {
        int max=i>j ?i:j;
        int z;
        int a=1;
        for(z=2;z<=max/2;z++) {
                if(!(i %z) && !(j%z)&& z>a) {
                        a=z;
                }

        }
        return a;
}

上一篇:atoi 实现
下一篇:链表倒转