兔子繁殖问题。

兔子繁殖问题。,第1张

20个月后一共6765对兔子

在700多年前,意大利有一位著名数学家斐波那契在他的《算盘全集》一书中提出了这样一道有趣的兔子繁殖问题。他先用列举法计算出各个月兔子对数,并进行了仔细观察,从中发现了一个十分有趣的规律,就是后面一个月份的兔子总对数,恰好等于前面两个月份兔子总对数的和。

1月兔子等于1对。

2月兔子等于1对。

3月兔子对数等于1月与2月兔子数相加等于2对。

4月兔子对数等于2月与3月兔子数相加等于5对。

后面依次类推。

扩展资料:

递归方法计算兔子繁殖问题:

根据实际问题,设置两个基本事件:rabbit(1)=1和rabbit(2)=1,由此,递归定义式为:

rabbit(n)=1when  n=1 or n=2;

rabbit(n)=rabbit(n-1)+rabbit(n-2)when  n>2;

rabbit(1),rabbit(2),rabbit(3), 称为Fibonacci序列,它是许多自然现象的模型。

rabbit(n)的Java方法:

[java]view plaincopy

publicstaticint rabbit(int n){  

//------------------------------------------

//Computes a term in the Fibonacci sequence

//Precondition:n is a positive integer

//Postcondition:Returns the nth Fibonacci number

//------------------------------------------

if(n<=2){return1;}  

else {//n>2, so n-1>0 and n-2>0

return rabbit(n-1)+rabbit(n-2);  

}//end if

}//end rabbit

参考资料:

-兔子繁衍奥数题及答案

1、兔子是胎生。兔子是诱发排卵动物,当兔子五月到七月时就可配种,兔子没有明显的发情期,一年四季均可交配繁殖,但应注意避开高温和低温的季节,以保证幼仔的成活。

2、一般在兔子进入怀孕期的时候,兔子的颈子部位会出现一圈多余的毛,这个时候一定要尽快将母兔分栏饲养,如果不分栏的话,母兔可能会因为过于狂暴的脾气导致出现撕咬行为。

3、在一些刚刚性成熟的母兔怀孕时,可能母兔他没有经验,在她生完兔子之后,他可能会认为这个地方被侵占了,这个小兔子可能被他当成了敌人,他有可能会攻击小兔子。所以对于年龄比较小的母兔,我们需要将小兔拿出进行人工饲养。

斐波那契兔子数列的描述:

在第一个月有一对刚出生的小兔子,在第二个月小兔子变成大兔子并开始怀孕,第三个月大兔子会生下一对小兔子,并且以后每个月都会生下一对小兔子。 如果每对兔子都经历这样的出生、成熟、生育的过程,并且兔子永远不死,那么兔子的总数是如何变化的?

也就是说,

第一个月只有一对兔宝宝,1对兔子。

第二个月兔宝宝变成大兔子,1对兔子。

第三个月大兔子生了一对兔宝宝,一大一小2对兔子。

第四个月大兔子继续生一对兔宝宝,小兔子变成大兔子。两大一小3对兔子。

兔子数列最大的特点就是前两项之和等于后一项,比如1+1=2、1+2=3、2+3=5、3+5=8、5+8=13…

所以,用excel列表如下

结论是46268对兔子

真的是一个可怕的数字啊!

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

1 1月

1 2月

2 3月

3 4月

5 5月

8 6月

13 7月

21 8月

34 9月

55 10月

89 11月

144 12月

233 13月

第1种:

Private Sub Command1_Click()

i = 0

x = 1

y = 1

b = x & "," & y

For n = 3 To 13 Step 1

i = x + y

x = y

y = i

b = b & "," & i

Next

Print b

End Sub

这个算法是最经典的。其实a月的数量也就是老兔子加上新生兔子。老兔子这么算的:因为当月的生产数量为上个月的兔子总数,而这个生产数量就是由老兔子生的。所以老兔子的数量就是a-1月的数量也就是上一个月的数量。新兔子这么算的:因为新兔子就是上一个月的繁殖数量,即a-1月的繁殖数量,而这个繁殖数量就是由a-2月的总数决定的,所以新兔子就是a-2月了。所以根据这个原理,第一种方法成立。

第2种:

Private Sub Command1_Click()

i = 0

x = 1

y = 1

z = 2

b = x & "," & y & "," & z

For n = 4 To 13 Step 1

i = y 2 + x

x = y

y = z

z = i

b = b & "," & i

Next

Print b

End Sub

第2种算法的逻辑是:

(a月-2的月总数) 2 + (a月-3月总数)

因为当月的生产数量为上个月的兔子总数,而当月的新兔子(即上个月新生的兔子,这个月还未能生产)数量为上上个月的总数。

第3种:

Private Sub Command1_Click()

i = 0

x = 1

y = 1

z = 2

b = x & "," & y & "," & z

For n = 4 To 13 Step 1

i = z 2 - x

x = y

y = z

z = i

b = b & "," & i

Next

Print b

End Sub

(a月总数2) - (a-2月总数)

这第2种算法和第3种算法是基于第一种算法的原理的。只不过实在太复杂了,我自己脑子里只能粗略整理它的逻辑关系(其实也不是很懂),所以写出来大家一定看不懂。。。

后记:这个经典的兔子数列其实还可以继续玩下去。有非常复杂的递推关系(自己说的,虽然没学过什么叫真正的递推不过应该差不多吧)。每个参数影响非常复杂。我本来想继续这个混乱的递推逻辑,但想到再复杂的算法的时候我差不多都要疯掉了。。啊啊啊,暂时就这样吧~~~大脑休息下。熄火。

即斐波那契数列,“斐波那契数列”的发明者,是意大利数学家列昂纳多·斐波那契(Leonardo Fibonacci,生于公元1170年,卒于1240年。籍贯大概是比萨)。他被人称作“比萨的列昂纳多”。1202年,他撰写了《珠算原理》(Liber Abaci)一书。他是第一个研究了印度和阿拉伯数学理论的欧洲人。他的父亲被比萨的一家商业团体聘任为外交领事,派驻地点相当于今日的阿尔及利亚地区,列昂纳多因此得以在一个阿拉伯老师的指导下研究数学。他还曾在埃及、叙利亚、希腊、西西里和普罗旺斯研究数学。

斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21……

这个数列从第三项开始,每一项都等于前两项之和。它的通项公式为:(1/√5){[(1+√5)/2]^n - [(1-√5)/2]^n}√5表示根号5

很有趣的是:这样一个完全是自然数的数列,通项公式居然是用无理数来表达的。

该数列有很多奇妙的属性

比如:随着数列项数的增加,前一项与后一项之比越逼近黄金分割06180339887……

还有一项性质,从第二项开始,每个奇数项的平方都比前后两项之积多1,每个偶数项的平方都比前后两项之积少1。

如果你看到有这样一个题目:某人把一个88的方格切成四块,拼成一个513的长方形,故作惊讶地问你:为什么64=65?其实就是利用了斐波那契数列的这个性质:5、8、13正是数列中相邻的三项,事实上前后两块的面积确实差1,只不过后面那个图中有一条细长的狭缝,一般人不容易注意到。

如果任意挑两个数为起始,比如5、-24,然后两项两项地相加下去,形成5、-24、26、02、28、3、58、88、146……等,你将发现随着数列的发展,前后两项之比也越来越逼近黄金分割,且某一项的平方与前后两项之积的差值也交替相差某个值。

斐波那契数列的第n项同时也代表了集合{1,2,,n}中所有不包含相邻正整数的子集个数。

斐波那契数列别名

斐波那契数列又因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。

斐波那契数列

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

我们不妨拿新出生的一对小兔子分析一下:

第一个月小兔子没有繁殖能力,所以还是一对;

两个月后,生下一对小兔民数共有两对;

三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对;

------

依次类推可以列出下表:

经过月数:0123456789101112

兔子对数:1123581321345589144233

表中数字1,1,2,3,5,8---构成了一个数列。这个数列有关十分明显的特点,那是:前面相邻两项之和,构成了后一项。

这个数列是意大利中世纪数学家斐波那契在<算盘全书>中提出的,这个级数的通项公式,除了具有a(n+2)=an+a(n+1)/的性质外,还可以证明通项公式为:an=1/√[(1+√5/2) n-(1-√5/2) n](n=1,2,3)

斐波那挈数列通项公式的推导

斐波那契数列:1,1,2,3,5,8,13,21……

如果设F(n)为该数列的第n项(n∈N+)。那么这句话可以写成如下形式:

F(1)=F(2)=1,F(n)=F(n-1)+F(n-2) (n≥3)

显然这是一个线性递推数列。

通项公式的推导方法一:利用特征方程

线性递推数列的特征方程为:

X^2=X+1

解得

X1=(1+√5)/2, X2=(1-√5)/2

则F(n)=C1X1^n + C2X2^n

∵F(1)=F(2)=1

∴C1X1 + C2X2

C1X1^2 + C2X2^2

解得C1=1/√5,C2=-1/√5

∴F(n)=(1/√5){[(1+√5)/2]^n - [(1-√5)/2]^n}√5表示根号5

通项公式的推导方法二:普通方法

设常数r,s

使得F(n)-rF(n-1)=s[F(n-1)-rF(n-2)]

则r+s=1, -rs=1

n≥3时,有

F(n)-rF(n-1)=s[F(n-1)-rF(n-2)]

F(n-1)-rF(n-2)=s[F(n-2)-rF(n-3)]

F(n-2)-rF(n-3)=s[F(n-3)-rF(n-4)]

……

F(3)-rF(2)=s[F(2)-rF(1)]

将以上n-2个式子相乘,得:

F(n)-rF(n-1)=[s^(n-2)][F(2)-rF(1)]

∵s=1-r,F(1)=F(2)=1

上式可化简得:

F(n)=s^(n-1)+rF(n-1)

那么:

F(n)=s^(n-1)+rF(n-1)

= s^(n-1) + rs^(n-2) + r^2F(n-2)

= s^(n-1) + rs^(n-2) + r^2s^(n-3) + r^3F(n-3)

……

= s^(n-1) + rs^(n-2) + r^2s^(n-3) +……+ r^(n-2)s + r^(n-1)F(1)

= s^(n-1) + rs^(n-2) + r^2s^(n-3) +……+ r^(n-2)s + r^(n-1)

(这是一个以s^(n-1)为首项、以r^(n-1)为末项、r/s为公差的等比数列的各项的和)

=[s^(n-1)-r^(n-1)r/s]/(1-r/s)

=(s^n - r^n)/(s-r)

r+s=1, -rs=1的一解为 s=(1+√5)/2, r=(1-√5)/2

则F(n)=(1/√5){[(1+√5)/2]^n - [(1-√5)/2]^n}

C语言程序

main()

{

long fib[40] = {1,1};

int i;

for(i=2;i<40;i++)

{

fib[i ] = fib[i-1]+fib[i-2];

}

for(i=0;i<40;i++)

{

printf("F%d==%d\n", i, fib);

}

return 0;

}

Pascal语言程序

var

fib: array[040]of longint;

i: integer;

begin

fib[0] := 1;

fib[1] := 1;

for i:=2 to 39 do

fib[i ] := fib[i-1] + fib[i-2];

for i:=0 to 39 do

write('F', i, '=', fib[i ]);

end

数列与矩阵

对于斐波那契数列1,1,2,3,5,8,13……有如下定义

F(n)=f(n-1)+f(n-2)

F(1)=1

F(2)=1

对于以下矩阵乘法

F(n+1) = 1 1 F(n)

F(n) 1 0 F(n-1)

它的运算就是

F(n+1)=F(n)+F(n-1)

F(n)=F(n)

可见该矩阵的乘法完全符合斐波那契数列的定义

设1 为B,1 1为C

1 1 0

可以用迭代得到:

斐波那契数列的某一项F(n)=(BC^(n-2))1

这就是斐波那契数列的矩阵乘法定义

另矩阵乘法的一个运算法则A¬^n(n为偶数)=A^(n/2) A^(n/2)

因此可以用递归的方法求得答案

时间效率:O(logn),比模拟法O(n)远远高效。

代码(PASCAL)

{变量matrix是二阶方阵, matrix是矩阵的英文}

program fibonacci;

type

matrix=array[12,12] of qword;

var

c,cc:matrix;

n:integer;

function multiply(x,y:matrix):matrix;

var

temp:matrix;

begin

temp[1,1]:=x[1,1]y[1,1]+x[1,2]y[2,1];

temp[1,2]:=x[1,1]y[1,2]+x[1,2]y[2,2];

temp[2,1]:=x[2,1]y[1,1]+x[2,2]y[2,1];

temp[2,2]:=x[2,1]y[1,2]+x[2,2]y[2,2];

exit(temp);

end;

function getcc(n:integer):matrix;

var

temp:matrix;

t:integer;

begin

if n=1 then exit(c);

t:=n div 2;

temp:=getcc(t);

temp:=multiply(temp,temp);

if odd(n) then exit(multiply(temp,c))

else exit(temp);

end;

procedure init;

begin

readln(n);

c[1,1]:=1;

c[1,2]:=1;

c[2,1]:=1;

c[2,2]:=0;

if n=1 then

begin

writeln(1);

halt;

end;

if n=2 then

begin

writeln(1);

halt;

end;

cc:=getcc(n-2);

end;

procedure work;

begin

writeln(cc[1,1]+cc[1,2]);

end;

begin

init;

work;

end

数列值的另一种求法

F(n) = [ (( sqrt ( 5 ) + 1 ) / 2) ^ n ]

其中[ x ]表示取距离 x 最近的整数。

数列的前若干项

1 1

2 2

3 3

4 5

5 8

6 13

7 21

8 34

9 55

10 89

11 144

12 233

13 377

14 610

15 987

16 1597

17 2584

18 4181

19 6765

20 10946

兔子的繁殖力强,多胎多产、孕期短、成熟早、全年发情产仔等特点。

兔子有左右2个子宫,没有子宫和子宫角之分,属于最原始的双子宫类型。有所知哺乳动物中最大的卵子,直径160um(发育最快、最易培养)。

在**《疯狂动物城》中,就有一个关于兔子繁殖能力的笑点。兔子朱迪有275个兄弟姐妹!她离开兔子窝的时候,标志牌上显示“兔口”的数字还在噌噌地往上涨。

作为哺乳动物里的生育机器,兔子拥有2个子宫,成长到3-4个月就可以繁殖,每窝可以生6-10,每年4-6次再加上兔子的平均寿命5~12年,生个两三百只完全不是问题!

扩展资料:

兔子听觉比较灵敏。一有风吹草动就会警惕的竖起两耳,作出反应。兔子属胆小的动物。见到陌生人、狗、猫等都会惊慌不安,在兔笼内乱窜乱跳,严重时导致孕兔流产,哺乳母兔拒绝哺喂幼崽,特别严重的会发出尖叫,全身瘫痪或心脏破裂而亡。

兔喜欢干燥、清洁的环境。家兔适宜的湿度为60%~70%,湿度对兔的影响也很大。尤其是高湿,无论是高温高湿,还是低温高湿,对兔子的体温调节都是不利的。

兔的汗腺不发达,全身覆盖浓厚的被毛,体表的散热能力差。因此,宠物兔非常怕热。宠物兔最适宜的环境温度为15~25℃,临界温度为5℃和30℃。

-家兔

中国日报网-详解《疯狂动物城》里的18种动物!

兔子是通过胎生繁殖的,一次生产,一个雌性兔可以产下5只左右的小兔子。最少的情况下,也会产小两只。

兔子长大开始发情时,雄兔的后腿常用力拍击地面发出声音,并在雌兔后面追逐。这个时期很容易分辨兔的雄雌。

雄兔的这种行为是在向雌兔求爱,并向对方表示自己的存在。雌兔发情时能分泌出一种特殊气味,并将尾巴举起,不断摆动,使分泌气味向外扩散,借此引诱雄兔。

扩展资料:

对于初次养兔的人来说,养兔之前应做一些准备工作。

(1)学习养兔技术。

要购买一些养兔资料,系统学习养兔理论,了解家兔的生物学特性。可向大专院校、科研单位的专家以及具有多年养兔经验的农民请教,接受他们的建议。最好参加养兔技术培训班和到知名度较高的兔场参观、实习1~2周。

(2)做好市场调查。

引种之前,应向权威部门及权威人士了解有关情况。例如,向外贸部门了解国际行情,皮兔、肉兔及毛兔各类产品的销路及前景如何;向畜牧部门了解不同品种的特征特性以及本地有哪些好兔场;向有关兔场了解兔场经营情况,有哪些经验与教训。以此决定自己所选购的品种、数量和发展规划。

(3)建好笼舍。

养兔之前先建好兔舍、兔笼,备好有关用具,如食盆、水盆、产箱等,进兔前一周全面清理和消毒,以便兔子一进场就有一个舒适的“家”。

(4)备好饲料。

兔常用的粗饲料、精饲料以及矿物质和添加剂应准备1个月以上的用量。进兔之前就应根据兔子原产地兔场情况拟定配方,配好饲料,使新引进的兔不因饲料的变化而造成不良反应。

(5)备足药械、药物。

诊治兔病常用的药械如注射器、体温计、剪子、镊子等要准备好。常用药物如助消化药、抗菌消炎药、外用药、抗寄生虫药和兔瘟疫苗也应准备一些。

-兔

人民网-波兰政府鼓励民众像兔子一样多生育

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/12185792.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存