Python生成第n个斐波那契数的两种常规方法

2023-12-13 04:29:33

Python每日一练


问题:

斐波那契数列以0(第0项)和1(第1项)开始,每一项都是前两项的和。

编写一个程序来生成第n个斐波那契数。

定义函数fibonacci_number(),参数为n。
在函数中返回第n个斐波那契数。

题目来源:PythonTip
https://edu.py2fun.com/

接下来我们用两种常规的方法来实现上述问题。


递归法

代码如下(示例):

def fibonacci_number(n):
    # 在此处编写你的代码
    if n < 2:
        return n
    return fibonacci_number(n-1) + fibonacci_number(n-2)

# 输入n的整数
n = int(input())
# 调用函数
print(fibonacci_number(n))

示例输入:

7

示例输出:

13


递推法

代码如下(示例):

def fibonacci_number(n):
    # 在此处编写你的代码
    a,b = 0,1
    for i in range(n):
        a,b=b,a+b
    return a

# 输入n的整数
n = int(input())
# 调用函数
print(fibonacci_number(n))

示例输入:

7

示例输出:

13


总结

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)

文章来源:https://blog.csdn.net/qq_43129538/article/details/134957627
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。