斐波那契数列 python实现

一.递归

#递归计算第n项
def febonaqi(n):
    if(n<=1): return n
    else: return febonaqi(n-1)+febonaqi(n-2)

二.迭代

1.迭代返回列表

def febonaqi(n):
    febo = []
    for i in range(n):
        if i <= 1:
            febo.append(i)
        else:
            febo.append(febo[i-1] + febo[i-2])
    return febo

def febonaqi(n):
    febo = [0,1]
    for i in range(n-2):
        febo.append(febo[-1]+febo[-2])
    return febo

2.迭代打表

febo = [i for i in range(1000)]
for i in range(1000):
    if i <=1:
        febo[i] = i
    else:
        febo[i] = febo[i-1]+febo[i-2]

三.直接计算

1.直接计算第n项

def febonaqi(n):
    x,y = 0,1
    while (n-1):
        x,y,n = y,x+y,n-1
    return x

2.直接输出所有项

def febonaqi(n):
    x,y, = 0,1,
    while(n):
        print(x,end=' ')
        x,y,n = y,x+y,n-1








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值