辗转相除法求最贵族约数

辗转相除法求最大公约数
欧几里德算法又叫辗转相除法,它是一个反复迭代执行,直到余数等于0停止的步骤,这实际上是一个循环结构。其算法用C语言描述为:
  int Gcd_2(int a, int b)// 欧几里德算法求a, b的最大公约数
  {
  if (a<=0 || b<=0) //预防错误
  return 0;
  int temp;
  while (b > 0) //b总是表示较小的那个数,若不是则交换a,b的值
  {
  temp = a % b; //迭代关系式
  a = b; //a是那个胆小鬼,始终跟在b的后面
  b = temp; //b向前冲锋占领新的位置
  }
  return a;
  } 

这段代码没有考虑a比b小的情况,实际上不用管ab谁大谁小。