斐波那契(fibonacci) 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda 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*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。
斐波那契(fibonacci)应用 蒙拉丽莎的微笑
Python第二十三课:递归斐波那契
斐波那契(fibonacci)数列代码实例 Python第二十三课:递归斐波那契
假设兔子在2个月之后就有了繁殖能力,每个月可以产下一对兔子,如果不考虑死亡的售后,一年后他们总共有多少对兔子。
迭代 def tuzidd(n):
n1 = 1 #第一个月是1
n2 = 1 #第二个月还是1
n3 = 1 #第三个月默认是一
if n < 1:
print('输入有误')
return -1
while (n-2)>0:
n3 = n2 + n1
print(n3,n2,n1)
#2 1 1
#3 2 1
#5 3 2
#5
n1 = n2
n2 = n3
n -= 1
return n3
print(tuzidd(5)) 其实一开始是不理解的,后面在代码中布置了print,来判断每一次的结果,后面就看得比较明显了。右边赋值给左边
递归
def tuzi(n):
if n==1 or n ==2:
return 1
elif n >2:
return tuzi(n -2) + tuzi(n -1)
print(tuzi(12)) 分治算法 分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。