-2

我正在尝试计算 100 以下的斐波那契数列的数量,但我编写的代码不起作用。我所拥有的是:

def fib(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fib(n-1) + fib(n-2)
num=0
while(num<100):
        print (fib(num))
        num+=1

我认为这应该可行,但它没有,所以这绝对是我的编码问题。谁能解决这个问题?

4

1 回答 1

1

那么这段代码不起作用怎么办?看起来实现是正确的,但它当然很慢。您可以尝试将计算的数字存储在某种数据结构中,以减少堆栈跟踪并避免在尝试计算 24 的 fib 时重新计算 23 的 fib。

于 2013-04-14T00:36:55.690 回答