Lazy loaded image
斐波那契数列
Words 396Read Time 1 min
2022-12-10
2025-4-3
type
status
date
slug
summary
tags
category
icon
password
说起斐波那契数列,大家应该都很熟悉了,今天主要想写的是他的算法实现,我最常用的就是递归和循环两种,循环写反大部分人都会,这里主要讲一下递归写法。
 

概念

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列: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*)。
简单来说,从第三个数开始,其值为前两个数的值之和,第一个数和第二个数是一般是0,1或者1,1 。接下来我们通过一个简单的例子去了解一下它。

例子

一列数:1,1,2,3,5,8,13,21,34.....第30位数是什么?用递归算法求解。
递归实现:我们直接带入上方的公式即可,f(30)=f(29)+f(28),依次类推,当f(1)和f(0)时直接返回值1即可,这就是跳出递归的条件了。非常的简单,我们用两行代码就能解决。
上一篇
Unity项目模版选择
下一篇
C++快速排序(含实例)

Comments
Loading...