一、斐波那契数列
斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……
在数学上,斐波那契数列以如下被以递推的方法定义:
F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)
二、第一种方法:使用递归
1、递归四要素
- 接收的参数
- 返回值
- 终止的条件
- 递归拆解,如何递归到下一层
2、具体代码
class Solution:
def fib(self, n: int) -> int:
if n<2:
return n
else:
return self.fib(n-1)+self.fib(n-2)
二、第二种方法:使用遍历
def fib(n):
if n < 2:
return n
a, b, c = 0, 0, 1
for i in range(2, n + 1):
a, b = b, c
c = a + b
return c
三、第三种方法:以列表的形式输出斐波那契数列
def fib(n):
result = [] #创建空列表用来储存斐波那契数列
for i in range(n):
if i == 0:
result.append(0)
elif i == 1:
result.append(1)
else:
result.append(result[i-1]+result[i-2])
print(result)
四、收获
通过本文章学到的知识主要有:
1、递归的使用
2、函数中self的用法