斐波那契数列百度百科
斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=1,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)在现代物理、准晶体结构、化学等领域,斐波那契数列都有直接的应用,为此,美国数学会从 1963 年起出版了以《斐波那契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。文章源自公式库网-https://www.gongshiku.com/html/202303/shiyongpythonruheshixianfeibonaqishulie.html
1.for循环
def fibonacci1(n):
a, b = 0, 1
for i in range(n):
a, b = b, a+b
print(a)
fibonacci1(3)
或文章源自公式库网-https://www.gongshiku.com/html/202303/shiyongpythonruheshixianfeibonaqishulie.html
def fib1(w):
a, b = 1, 1
for i in range(w-1):
a, b = b, a+b
return a
print(fib1(3))
2.while循环
def fibnaqi2(m):
a, b = 0, 1
i = 0
while i < m:
print(b)
a, b = b, a+b
i += 1
fibnaqi2(4)
3.使用递归
def fib2(q):
if q == 1 or q == 2:
return 1
return fib2(q-1)+fib2(q-2)
print(fib2(9))
4.递归+for循环
def fibnacci3(p):
lst = []
for i in range(p):
if i == 1 or i == 0:
lst.append(1)
else:
lst.append(lst[i-1]+lst[i-2])
print(lst)
fibnacci3(5)
5.递归+while循环
def fibnacci4(k):
lis = []
i = 0
while i<k:
if i == 0 or i == 1:
lis.append(1)
else:
lis.append(lis[i-2]+lis[i-1])
i += 1
print(lis)
fibnacci4(6)
6.递归+定义函数+for循环
def fibnacci5(o):
def fn(i):
if i < 2:
return 1
else:
return (fn(i-2)+fn(i-1))
for i in range(o):
print(fn(i))
fibnacci5(8)
7.指定列表
def fib3(e):
if e == 1:
return [1]
if e == 2:
return [1, 1]
fibs = [1, 1]
for i in range(2, e):
fibs.append(fibs[-1]+fibs[-2])
return fibs
print(fib3(12))
文章源自公式库网-https://www.gongshiku.com/html/202303/shiyongpythonruheshixianfeibonaqishulie.html
文章源自公式库网-https://www.gongshiku.com/html/202303/shiyongpythonruheshixianfeibonaqishulie.html 文章源自公式库网-https://www.gongshiku.com/html/202303/shiyongpythonruheshixianfeibonaqishulie.html