打印

2008-05-14 Ruby 测试题(00016)

2008-05-14 Ruby 测试题(00016)

最近局面有点惨淡。不知道是不是题目偏难。
其实,个人认为这些题目都是比较基础的,说实话,并不是Ruby所独有的。
今天延续回溯的例子,也许是最后一个了吧。
给定自然数N,请给出N的加法分解式。
例如:N=5,则输出:
5=4+1
5=3+2
5=3+1+1
5=2+2+1
5=2+1+1+1
5=1+1+1+1+1
本帖最近评分记录
  • drive2me R币 +10 感谢版主的坚持不懈! 2008-5-21 13:15

TOP

用纸写然后敲上来的,没仔细测试,不知有没有错
本帖隐藏的内容需要回复才可以浏览


5.additive_partition   
#=>5=4+1
5=3+1+1
5=2+1+1+1
5=1+1+1+1+1
5=2+2+1
5=3+2


本帖最近评分记录
  • drive2me R币 +10 谢谢! 2008-5-21 13:15
Digging ruby with Pickaxe,
Running agilely on rails

TOP

本帖隐藏的内容需要回复才可以浏览

--------------------------
"5 = 4 + 1"
"5 = 3 + 2"
"5 = 3 + 1 + 1"
"5 = 2 + 2 + 1"
"5 = 2 + 1 + 1 + 1"
"5 = 1 + 1 + 1 + 1 + 1"

---------------------------
优化版,除打印之外,速度是原来的三倍。
接下来就不知道该怎么优化了,不会用benchmark,请大家指点。

本帖隐藏的内容需要回复才可以浏览


--------------------
再快一点点的版本, 但是不好看.
本帖隐藏的内容需要回复才可以浏览


[ 本帖最后由 5swords 于 2008-5-19 10:13 编辑 ]
本帖最近评分记录
  • drive2me R币 +10 总是几个解法,好! 2008-5-21 13:17
  • jmouse R币 +10 计算速度上能不能优化? 2008-5-15 18:48

TOP

看看答案!

看看答案!

TOP

看看答案!

看看答案!

TOP

评分系统有问题啊。
Xavier看一下你的6=2+2+2去了哪里?

TOP

看来我老充当那个反面教材...
Digging ruby with Pickaxe,
Running agilely on rails

TOP

呵呵,共同进步。
其实,我出这道题目还有个原因,是因为我对付不了EULEA上的那个100。

TOP

看不出和EULER100有什么联系, 好奇ing...

TOP

不是第100题,是76题。
我能出50,80,但是100我没耐心,所以要寻求个好方法。
目前在想,Xavier的思路可以用。
本帖最近评分记录
  • drive2me R币 +5 好方法,群策群力!~ 2008-5-21 13:13

TOP

看答案。。

TOP

本帖隐藏的内容需要回复才可以浏览


如5swords 所言,这样更精简些:)

[ 本帖最后由 plucury 于 2008-5-21 15:42 编辑 ]
本帖最近评分记录
  • jmouse R币 +10 2008-5-21 10:32
  • 5swords R币 +10 很强大 2008-5-21 08:39

TOP

看答案。。。

TOP

大家很活跃,谢谢大家!
Flying Piggy...! 
天地人合一!

TOP

回复 12# 的帖子

循环可以从n-m开始吗?

可以从[0,n-m].max开始, 循环里的if就可以不要了.

[ 本帖最后由 5swords 于 2008-5-21 13:51 编辑 ]

TOP

2008-10-12 15:27 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html) @38.103.63.60