首页 > 学院 > 开发设计 > 正文

C语言程序开发范例宝典38~最小公倍数与最大公约数

2019-11-06 07:18:06
字体:
来源:转载
供稿:网友

  求两个数的最大公约数,前些天用C实现的时候,从网上扒了一段代 码用了,什么辗转相减法相除法,高中的知识也是忘的快差不多了,记忆是好几行的代码,今天瞥见《C语言开发范例宝典》中看到一段好简洁的代码: 

int gys(int x, int y){ return y ? gys(y, x%y) : x;}

这就是所谓的辗转相除取余吧,利用递归调用实现,简洁明了; 再来看一下最小公倍数的实现:

int gbs (int x ,int y){ return x / gys(x, y)*y;}

关于什么是最小公倍数参见:最小公倍数 额,这是初中还是小学的内容吧,忘了… 最小公倍数运行结果 ————以上是最大公约数与最小公倍数———; 实例38 分数计算器程序,定义了分数的加减乘除运算,懒得细看了,什么时候用到了再过来翻查;


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表