1. 程式人生 > >歐幾裏得算法

歐幾裏得算法

bsp 歐幾裏得算法 ret ron 最大 strong 遞歸 return gcd

歐幾裏得算法,即輾轉相除法求最大公約數

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);

}

歐幾裏得算法