代码:
[code]
def fib(n)
(n>=2)?fib(n-2)+fib(n-1):n
end
print(fib(20)+"\n")
#print(fib(40)+"\n")
[/code]
求fib过程中,n<=20速度还算快,n>30都出不来了,dos窗口一直没有自动关闭.
用java写很快就出来了,不知道是什么原因造成这样的结果呢?
[code]
def fib(n)
(n>=2)?fib(n-2)+fib(n-1):n
end
print(fib(20)+"\n")
#print(fib(40)+"\n")
[/code]
求fib过程中,n<=20速度还算快,n>30都出不来了,dos窗口一直没有自动关闭.
用java写很快就出来了,不知道是什么原因造成这样的结果呢?
本文通过一个简单的斐波那契数列程序对比了不同语言的执行效率。使用Ruby语言实现的递归版本在n大于30时无法快速得出结果,而Java版本则可以迅速完成计算。文章引发对于递归算法效率及语言特性对执行性能影响的讨论。
132

被折叠的 条评论
为什么被折叠?



