分解质因数(5.17重写)

分解质因数(5.17重写)

重写分解质因数这个case,因为原来的代码太难看,还有一点错误

一、编写最基本的代码
最开始我是这么想的,从2开始循环,一直到待分解的那个数为止。用待分解的数去除这个循环变量,如果余数是0,那么这就是待分解的数的一个因数了。
得益于ruby的快捷,我们想到了就可以马上开始做。

[Copy to clipboard] [ - ]
xavier,谢谢你,可能你是最小的Ruby迷了吧。
你的小CASE和讲解方式,让我吃了一惊,你才16岁呢。
但你给我们所有学习Ruby的成人很大的信心,你同时告诉我们,学习Ruby不难,只要学和练习就是了!

你做的很好,小Ruby专家。
呵呵,谢谢drive2me
循序渐进的方式是受AWDWR的启发想起来的~


[Copy to clipboard] [ - ]
小于2的就只剩0和1了
我觉得为这两个数加个if是不值得的。
就算去掉if,ruby在算法实现的效率上还是最慢的语言
ruby天生就是为了易用,最不考虑的反而是效率
确实,不过可能与算法有关系。再者解释和编译的区别亦明显。
我倒是觉得像ruby这种跑的慢的语言,表面上一眼就能看出能提高效率的地方是一个也不能放过的
引用:
原帖由 xavier 于 2007-12-9 13:16 发表
我倒是觉得像ruby这种跑的慢的语言,表面上一眼就能看出能提高效率的地方是一个也不能放过的
不得不说,楼主的正则用错了,应该是 /^\d+0+0$/
/^\d+0?0$/ 会匹配所有末尾带0的多位数,比如1010

顺便放上我的答案

[Copy to clipboard] [ - ]