斐波那契数列百度百科
斐波那契数列(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 年起出版了以《斐波那契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。
1.for循环
def fibonacci1(n): a, b = 0, 1 for i in range(n): a, b = b, a+b print(a) fibonacci1(3)
或
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))
运营不易,
感谢支持!
我的微信
我的微信公众号
我的微信公众号扫一扫
我的公众号