python编程之斐波那契数列递归算法

Python (157) 2023-07-09 12:05:51

从学习写代码伊始, 总有个坎不好迈过去, 那就是遇上一些有关递归的东西时, 看着简短的代码, 怎么稀里糊涂就出来了。今天我们就来好好好探讨递归这个东西。‍很多文章对于递归有很深刻的字面上的解释, 比如一个函数重复调用自身, 什么递过去再调回来之类的。下面, 我们来讲讲python中斐波那契数列递归算法。

代码:

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
<p style="line-height: normal;">def fib_recur(n):
if n<=1:
return n
else:
return fib_recur(n-1)+fib_recur(n-2)
def ex(c):
return int(c)
X=input().strip().split()
N=list(map(lambda a:int(a), X))[0]
for i in range(1, N):
print(fib_recur(i),end=' ')<br></p>
<p style="line-height: normal;">def fib_recur(n): if n<=1: return n else: return fib_recur(n-1)+fib_recur(n-2) def ex(c): return int(c) X=input().strip().split() N=list(map(lambda a:int(a), X))[0] for i in range(1, N): print(fib_recur(i),end=' ')<br></p>

def fib_recur(n): if n<=1: return n else: return fib_recur(n-1)+fib_recur(n-2) def ex(c): return int(c) X=input().strip().split() N=list(map(lambda a:int(a), X))[0] for i in range(1, N): print(fib_recur(i),end=' ')

斐波那契数列递归算法写法最简洁,但是效率最低,会出现大量的重复计算。如果小伙伴要写斐波那契数列,也可以运用其他方式哦~

THE END

发表回复