两种方式实现斐波那契数列

2021年8月29日 21:53 阅读 1.13k 评论 0

斐波那契数列

大家都知道斐波那契数列,现在要求输入一个整数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
©允许规范转载

版权声明:如无特殊说明,文章均为本站原创,转载请注明出处

本文链接:https://www.yangyingqi.com/56.html

Python
微信
支付宝
登录后即可进行评论/回复