首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

辗转相除法求最贵族约数

2012-11-04 
辗转相除法求最大公约数欧几里德算法又叫辗转相除法,它是一个反复迭代执行,直到余数等于0停止的步骤,这实

辗转相除法求最大公约数
欧几里德算法又叫辗转相除法,它是一个反复迭代执行,直到余数等于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谁大谁小。

热点排行