java递归方法编写兔子繁殖_2018-04-15 斐波那契数列(兔子繁殖数列)

费波那契数列(兔子繁殖数列)

兔子在出生两个月后,就有繁殖能力,一对成年而有繁殖力的兔子每个月能生出一对小兔子来。假设一年以后所有兔子都不死,那么一对小兔子一年以后可以繁殖多少对兔子?

我们来分析一下:

一月,这对小兔子未成年,所以是1对幼年兔子,0对成年兔子;

二月,这对小兔子变为成年兔子,但还没有繁殖能力,所以是0对幼年兔子,1对成年兔子;

三月,这对成年兔子有了繁殖能力,生下一对小兔子(第一胎儿辈),所以是1对幼年兔子,1对成年兔子;

四月,这对老兔子又生下一对小兔子,而三月出生的那对小兔子虽然成年但还没有繁殖能力,所以是1对幼年兔子,2对成年兔子;

五月,这对老兔子再生下一对小兔子,而三月出生的那对小兔子已有繁殖能力,也生下一对小兔子(第一胎孙辈),四月出生的那对小兔子则己成年但还没有繁殖能力,所以是2对幼年兔子,3对成年兔子;

依次类推,可以列出下表:

a93eb81fb8a5

由上表可知,从养一对小兔子开始,一年以后最多可以繁殖233对兔子。在商人眼里,养一对小兔子一年以后最多可以繁殖出466只兔子。但在老子等哲人眼里,兔子的生育必定是阴阳成对的;而在意大利数学家斐波那契眼里,成年兔子的对数则形成了一个完整的“兔子”数列:

a93eb81fb8a5

这是斐波那契于1202年发现的一个神奇数列,又称斐波那契数列。这个“兔子”数列被斐波纳契以递归的方法加以定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。其主要特征至少有四:

一是从数列的第2项开始,每项数值都是前两项之和。

a93eb81fb8a5

二是从数列的第9项开始,相邻两项之比接近黄金分割数,并且互为倒数,尤其是从第11项开始,前后相邻两项比值的小数部分均为0.6180……无限接近于黄金分割无理数。

a93eb81fb8a5

三是偶数项的平方比前后两项的乘积少1,而奇数项的平方比前后两项的乘积多1。比如,第4项3的平方比2和5的乘积少1,第5项5的平方比3和8的乘积多1。

四是数列第5n项和第12n项(n均为正整数)的值与本项序列号具有相似性,即可以整除,比如第5项5÷5=1,第25项75025÷25=3001,第12项144÷12=12,余数均为零。

a93eb81fb8a5

这四个特征与易经象数均有紧密联系,这里先分析“兔子”数列的递归特征和黄金分割特征与易经象数的关系。

假定我们以递归的方法重新定义“兔子”数列的前两项:F0=2,F1=5。这个问题就变成了:兔子在出生两个月后,就有繁殖能力,一对成年而有繁殖力的兔子每个月能生出一对小兔子来。假设一年以后所有兔子都不死,那么5对小兔子和2对成年兔子一年以后可以繁殖多少对兔子?

依次类推,可知5对小兔子和2对成年兔子一年以后可以繁殖1631对兔子。

a93eb81fb8a5

从上表三个“兔子”数列可以发现:无论前两项取什么值,只要从数列的第2项开始,每项数值都是前两项之和;那么,从数列的第9项开始,相邻两项之比接近黄金分割数,并且互为倒数。

由此可知,阴阳相互对立统一的两个方面,无论它们初始的差距有多大,在对立统一发展的过程中,它们相互之间的关系总是无限趋近于平衡、和谐。

如果我们把A、B、C、D、E…作为事物发展若干阶段的成果,用字母数学式来抽象表达“兔子”数列则是:

a93eb81fb8a5

如果将“兔子”数列的前7个数项在二维空间作平面图,或者将道(包括常道和非常道)、一、二、三及五行、六十四卦等7个象数折射于二维空间作平面图,就可制成如下图形。这个旋转生成的图形,正是生物(包括植物和动物)成长的抽象示意图。

a93eb81fb8a5

这个图如果继续再画下去,就要画13点了。因为围绕“道、一、二、三”这个事物的核心(可视为仁或者种子),再接下去就是13、21、34……紧紧围绕在这个中心周围一直画下去。这是一个无穷无尽的过程,所以这里只能画个示意图。这个斐波那契数列几何图很像围棋,每个维度上的顶点就像是棋子。也许,围棋的本义应当是“维棋”。因为它演绎的正是易经的象数和义理。

可见,“道生一(包括常道生一,非常道生一),一生二,二生三,三生万物”,这是大自然的普遍规律。道,是事物发展的源泉和动力。西方的对立统一思想(较早的代表人物毕达哥拉斯、赫拉克里特、亚里士多德、黑格尔等)其实与中国易经象数是有共同之处的。其中,

斐波那契的“兔子”数列就是对中国易经象数的继承发展。斐波那契让“兔子”告诉我们,对称生长只是黄金分割生长的特殊情形(偶然的非常道),非对称生长才是万物生长的常态(即必然的常道)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
斐波那契数列是一种经典的数学序列,由Leonardo Fibonacci在13世纪提出。而兔子繁殖问题是斐波那契数列在现实生活中的一个应用。 兔子繁殖问题中,假设一对刚出生的兔子一个月后能够长大并开始繁殖。而每对成年的兔子每个月能够生下一对新的兔子。以此类推,兔子繁殖数量就符合斐波那契数列的规律。 以月份为时间单位,第一个月开始只有一对刚出生的兔子。第二个月时,这对兔子长大并开始繁殖,所以兔子的总数量仍为1对。第三个月时,原本的兔子生下了一对新的兔子,总数量变为2对。第四个月时,原本的兔子又生下了一对新的兔子,新的兔子也长大开始繁殖,总数量变为3对。以此类推,每个月兔子的总数量都是前两个月之和,符合斐波那契数列的特性。 在Java中,我们可以通过编写代码来模拟兔子繁殖问题。首先,我们可以定义一个函数来计算指定月份时兔子的数量,函数接受一个整数参数表示月份。利用递归的思想,我们可以在函数内部调用自身来计算前两个月兔子数量的和,并返回结果。 代码示例: ```java public class Fibonacci { public static int fibonacci(int month) { if (month == 1 || month == 2) { return 1; } return fibonacci(month - 1) + fibonacci(month - 2); } public static void main(String[] args) { int month = 10; int rabbitCount = fibonacci(month); System.out.println("第" + month + "个月时的兔子数量为:" + rabbitCount); } } ``` 上述代码演示了如何计算第10个月时兔子的数量。运行程序会输出结果:第10个月时的兔子数量为:55。 通过这个视频,我们可以更直观地观察到斐波那契数列兔子繁殖问题中的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值