斐波那契数列
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。
本文使用两种方法实现,一种是递归,一种是迭代。
递归实现
def fibonacci(n):
if n == 0:
return 0
if n == 1:
return 1
res = f(n-1) + f(n-2)
return res
print(fibonacci(10))
首先我们需要对前两项做特殊处理,后面就是将斐波那契数列的公式套用,不断递归,最后返回
迭代实现
迭代分为两种实现方式,一种是常见的for循环,一种是看起来更高级的生成器
生成器
def fibonacci(n):
a, b = 0, 1
count = 0
while count < n:
num = a
count += 1
a,b = b,a+b
yield num
n = int(input()) + 1
fib = fibonacci(n)
num = None
for i in range(n):
num = next(fib)
print(num)
for循环
a,b = 0,1
for i in range(n):
a,b = b,a+b
print(a)
题目来自牛客斐波那契数列
最后修改于2021年8月29日 21:54
©允许规范转载
Python版权声明:如无特殊说明,文章均为本站原创,转载请注明出处
本文链接:https://www.yangyingqi.com/56.html