python之递归(斐波那契数列)与迭代

 对于较大的计算来说,迭代不如递归计算速度快,并且可以说非常慢

但是迭代对于较小的运算又比递归巧妙

# 迭代方法
def slowsnail(x):
    am = [1, 1]
    if x < 0:
        print('输入错误!!!')
    elif x == 1 or x == 2:
        print('1')
    elif x > 2:
        for i in range(0, x - 2):
            b = am[i] + am[i + 1]
            am.append(b)
        print(am)
        return am[x - 1]


number = int(input('输入一个整数:'))
a = slowsnail(number)
print(a)


# 递归
def funcation(x):
    if x < 0:
        print('输入错误!!!')
    elif x == 1 or x == 2:
        return 1
    elif x > 2:
        return funcation(x - 1) + funcation(x - 2)


number = int(input('输入一个整数:'))
a = funcation(number)
print(a)

递归的原理如图所示:

posted @   放氮气的蜗牛  阅读(57)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示