C语言求最大公约数和最小公倍数算法.docVIP

  • 18
  • 0
  • 约3.25千字
  • 约 4页
  • 2017-08-30 发布于江苏
  • 举报

C语言求最大公约数和最小公倍数算法.doc

C语言求最大公约数和最小公倍数算法 C语言求最大公约数和最小公倍数可以说是C语言编程学习中一个重点和难点,它常常作为计算机专业学生参加各种考试必须要把握的内容。其算法方面除常用的辗转相除法外、还可以根据数学定义法、递归调用法等。下面结合我学习以来的笔记整理、总结几种常用的方法进行比较,以便能够更好的理解、应用、共勉。 前提:假设求任意两个整数的最大公约数和最小公倍数,采用函数调用形式进行。 1、辗转相除法 辗转相除法(又名欧几里德法)C语言中用于计算两个整数a,b的依赖于下面的定理:? a b=0 gcd(a,b)?= gcd(b,a?mod?b) b!=0 根据这一定理可以采用函数嵌套调用和递归调用形式进行求两个数的最大公约数和最小公倍数,现分别叙述如下: ①、函数嵌套调用 其算法过程为:?前提:设两数为a,b设其中a 做被除数,b做除数,temp为余数 1、大数放a中、小数放b中; 2、求a/b的余数; 3、若temp=0则b为最大公约数; 4、如果temp!=0则把b的值给a、temp的值给a; 5、返回第第二步; 代码: int divisor (int a,int b) /*自定义函数求两数的最大公约数*/ { int temp;

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档