读书人

python 兑现 斐波那契数列

发布时间: 2013-03-22 09:49:50 作者: rapoo

python 实现 斐波那契数列
递归法

def fibo(i):      if i==0 or i==1:        return 1    else:        return fibo(i-1)+fibo(i-2)

递归有很多重复计算,比方说你计算f(5)时要去计算f(4)和f(3),而计算f(4)时又要去计算f(3),这样f(3)就重复计算了

非递归法
def fibo2(n):    stack=[]    if n==0 or n==1:        return 1    else:        stack.append(1)        stack.append(1)    for i in range(2,n):        stack.append(stack[i-1]+stack[i-2])    return stackprint fibo2(2)

读书人网 >perl python

热点推荐