2008-03-24 Ruby 测试题(00005)

2008-03-24 Ruby 测试题(00005)

今天还是来做点基础的。
输出2个整数(a,b)的最大公约数和最小公倍数。
暂时不考虑溢出以及负数,0的问题。
不知道Math库里是不是已经有轮子在,就算在,也先别用吧。
本帖隐藏的内容需要回复才可以浏览
貌似前两天刚优化过~直接贴答案

本帖隐藏的内容需要回复才可以浏览
本帖隐藏的内容需要回复才可以浏览
楼上的试一下puts gcd(24,15)
本帖隐藏的内容需要回复才可以浏览
呜呜 。。没脸活了。。。楼上的都好短。。。。。
首先,从算法上来讲,求最大公约数没必要把所有质因数都找出来,虽然这是一种方法。但是大数组操作的效率是有问题的。
其次,最大公约数×最小公倍数=两数乘积。
代码上来讲,求质因数的时候没必要把2独立出来。如果确实把2单独写了,那后面那个循环步长就应该是2而不是一。
然后,利用下Ruby的特性,可以把代码也搞得短一点的。

[Copy to clipboard] [ - ]
引用:
原帖由 liumuqing 于 2008-3-24 18:56 发表
呜呜 。。没脸活了。。。楼上的都好短。。。。。
本帖隐藏的内容需要回复才可以浏览
本帖隐藏的内容需要回复才可以浏览