母牛的故事(HDU2018)和斐波那契数列

       斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。

       具体是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

斐波那契数列 - 搜狗百科

由来:兔子问题不死神兔的繁衍生息——神奇的斐波那契数列 - 知乎

• 故事得从西元1202年说起,话说有一位意大利青年,名叫斐波那契。在他的一部著作中提出了一个有趣的问题:假设一对刚出生的小兔一个月后就能长成大兔,再过一个月就能生下一对小兔,并且此后每个月都生一对小兔,一年内没有发生死亡,问:一对刚出生的兔子,一年内繁殖成多少对兔子?



从这两张图中我们可以看到一个规律,每年的兔子对数都是前两年的兔子对数之和(1=0+0;1=0+1;2=1+1;3=1+2;……f(n)=f(n-1)+f(n-2));所以


这就是斐波那契数列的由来。

所以,母牛的故事的问题跟兔子问题类似:


类似的,按照斐波那契数列的规律做一个表格:



从表格可以看出,当n<=4时,f(n)=n;当n>4时,f(n)=f(n-1)+f(n-3),用递归函数,求出最终的答案

代码如下:


你可能感兴趣的:(母牛的故事(HDU2018)和斐波那契数列)