欧几里得算法

欧几里得算法,即辗转相除法求最大公约数

1.循环:

int gcd(int a,int b)

{

  if(a < b) swap(a,b);

  while(a%b != 0)

  {

    int t  = a%b;

    a = b;

    b = t;

  }

  return b;

}

2.递归:

int gcd(int a,int b)

{

  //要求保证传入的a>=b

  if(b == 0) return a;

  return gcd(b, a % b);

}

posted @ 2017-11-19 19:00  unknownname  阅读(118)  评论(0编辑  收藏  举报