python斐波那契数列

斐波那契数列: n>1时,该数列第n项等于其前面两项之和,所以,斐波那契数列可以写成如下的递归形式

 以递归的方法实现斐波那契数列的递推

方法一:使用控制语句编写斐波那契数列

def item( num ):
    if num == 0 :
        fi = 1
    elif num == 1:
        fi = 1
    else:
        fi = item ( num - 1) + item (num -2)
    return fi
def Fib( n ):
    i = 0
    while i < n:
        print (item(i),end=',')
        i += 1
Fib( 10 )

以上递归方法的递归次数太多时,效率低下,所以通常可以采用递推算法,通过列表来实现。

def Fib(num):
"""递推算法"""
    fib = [1]           #用列表保存中间结果,初始值为1
    for i in range(num):
        if i < 2:fib.append(i + 1)
        else:fib.append(sum(fib[-2:]))
    return fib
print(Fib(10))

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值