题目
求输入的第n个,斐波那契数
斐波那契数:斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列: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:
递归
当n=1或n=2时,F=1。即F(0)=0,F(1)=1,F(2)=1;n>=2时,F(n)=F(n - 1)+F(n - 2),n ∈ N*
def fab(n):
if n == 1 or n == 2:
return 1
return fab(n-1) + fab(n-2)
print(fab(6)) # n可取任意整数
结果
思路2:
for循环
先令第0个和第1个数为1
再进入for循环后,从第二个数开始。
# 求输入的第n个,斐波那契数
n = int(input('请输入要一个整数:'))
n_2 = 0
n_1 = 1
reslut = 1
for x in range(2, n+1):
reslut = n_2 + n_1
n_2 = n_1
n_1 = reslut
print(