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)
递归的原理如图所示:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了