斐波那契序列

时间:2013-04-14 00:29:45

标签: python while-loop sequence fibonacci

我正在尝试计算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

我认为这应该有效,但事实并非如此,所以这绝对是我的编码问题。有人能解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

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