Python斐波那契数列

统计每个月兔子的总数

https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395?tpId=37&tqId=21260&rp=1&ru=%2Fta%2Fhuawei&qru=%2Fta%2Fhuawei%2Fquestion-ranking&tab=answerKey

斐波那契数列:1 1 2 3 5 8 13 21 34 f(n)=f(n-1)+f(n-2) n>2,n从0开始
递归法:

while True:
    try:
        month=int(input())
        n=month-1
        def func(n):
            if n<2:#基线条件
                return 1
            else:#递归条件
                return func(n-1)+func(n-2)
        print(func(n))
    except:
        break

2.循环列表

import sys
for s in sys.stdin:#s=input()读入数据的1行
    month=int(s)
    L=[]
    for i in range(month):
        if i<2:#前两个月都为1
            total=1
            L.append(total)
        else:
            total=L[i-1]+L[i-2]#之后均为前两个数的和
            L.append(total)
    print(L[-1])#最后的列表L=[1, 1, 2, 3, 5, 8, 13, 21, 34]
全部评论
while True: try: month = int(input()) def func(month): if month < 3: return 1 else: return func(month-1)+func(month-2) print(func(month)) except: break 这样是不是更好理解一些
7 回复 分享
发布于 2021-12-09 11:24
怎么看出来是斐波那契数的,给给思路啊
2 回复 分享
发布于 2022-07-27 19:00
换了个马甲就不认识了
4 回复 分享
发布于 2022-07-06 11:09
为什么n要-1,i<=2可以吗
1 回复 分享
发布于 2022-03-12 17:52
根据斐波那契数列的定义来判断
点赞 回复 分享
发布于 2022-08-09 15:31
n为什么等于month-1呢
点赞 回复 分享
发布于 2022-09-25 11:25 广东
大佬牛的,就是怎么会想起来斐波那契数列呢,我自己推得时候直接从第三个月算,啥都算不出来,苦笑,你这么一说我就懂了哇
点赞 回复 分享
发布于 2023-02-23 10:33 江苏

相关推荐

03-13 21:15
江南大学 Java
多少分能进面啊?卡测评吗?做的我道心破碎了💔
小南瓜_66:A3 第四道题为什么用例过了 结果显示0%
投递携程等公司10个岗位 > 携程求职进展汇总
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
90
27
分享

创作者周榜

更多
牛客网
牛客企业服务