Fibonacci
# 1.Recursion slow
def fibonacci_recursion(n):
if n <= 1:
return n
else:
return fibonacci_recursion(n-1) + fibonacci_recursion(n-2)
# 2.List save every value, avoid repeate compute fast
def fibonacci_list(n):
F =[0,1]
if n<=1 :
return n
else:
for i in range(2,n+1):
F.append(F[i-1] + F[i-2])#soul
return F[n]
# 3.1 for loop, update a and b,don't need List, increase space efficiency and reduce time complexity O(n)
def fibonacci_forloop_update(n):
if n<=1 :
return n
else:
a,b = 0,1
for _ in range(2,n+1):
a,b = b,a+b
return b
# 3.2 while loop, update a and b,don't need List, increase space efficiency and reduce time complexity O(n)
def fibonacci_whileloop_update(n):
if n<=1 :
return n
else:
a,b = 0,1
i = 2
while i <= n:
a,b = b,a+b
i+=1
return b
for i in range(100):
# print(fibonacci_list(i))
# print(fibonacci_recursion(i))
# print(fibonacci_forloop_update(i))
print(fibonacci_whileloop_update(i))
About Fibonacci formula: https://www.zhihu.com/question/25217301
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!