也来讨论Projecteuler的分解质因数题目~

也来讨论Projecteuler的分解质因数题目~



[Copy to clipboard] [ - ]
为什么让字典里的质数不超过9999?
额,注释表达的不好,@@dic_limit用做字典的上限,字典里的质数不超过@@dic_limit。
大了二层循环会影响些速度,9999运行这个程序花费0.4秒,99999就要9秒了~
这是我当初的解,稍微优化了一点

[Copy to clipboard] [ - ]
引用:
原帖由 595959 于 2008-4-8 18:17 发表
额,注释表达的不好,@@dic_limit用做字典的上限,字典里的质数不超过@@dic_limit。
大了二层循环会影响些速度,9999运行这个程序花费0.4秒,99999就要9秒了~
上限9999为了保证程序执行时间。。
bbschat兄的(x**0.5).to_i很关键啊!

[ 本帖最后由 595959 于 2008-4-8 19:51 编辑 ]
好像(x**0.5)没必要to_i了,参考

[Copy to clipboard] [ - ]
upto 没必要,step 就有必要了,xavier 可以试下,原因未知。

ps: 个人猜想也许是因为 upto 的步长固定是1。 而 step 步长不固定,且允许使用小数的原因。
所以Ruby对 step 的第一个参数不会自动取整。

[ 本帖最后由 bbschat 于 2008-4-9 18:25 编辑 ]
确实是这样的,以前到真没怎么用过step
step是Numeric的实例方法,所以所有数字都能用
见:

[Copy to clipboard] [ - ]
楼主辛苦了,多谢你的帖子,继续努力.


















我的座右铭:Study English in order to apply it wow gold.Language is for the wow gold exchange of ideas, for communication.A great man wow gold once said it is necessary to dill wow gold as much as possible, and wow gold the more you apply it in real situations, the more natural it will become.一位伟人曾说,反复练是非常必要的,你越多地将所学到的东西运用到实际生活中,他们就变得越自然。这就是我学习英语的技巧,我现在都可以跟老外直接对话了。