词条 | 兔子问题 |
释义 | 兔子问题13世纪意大利数学家斐波那契在他的《算盘书》中提出这样一个问题:有人想知道一年内一对兔子可繁殖成多少对,便筑了一道围墙把一对兔子关在里面。已知一对兔子每一个月可以生一对小兔子,而一对兔子出生后.第三个月开始生小兔子假如一年内没有发生死亡,则一对兔子一年内能繁殖成多少对? 现在我们寻求兔子繁殖的规律。成熟的一对兔子用记号"红方块表示",未成熟的用"黑方块"表示。"绿色线代表:延续和成长" "蓝色线代表:出生" 。 斐波那契数的原题为图片的下半部分:可以看出六个月兔子的对数是1,2,3,5,8,13。很容易发现这个数列的特点:即从第三项起,每一项都等于前两项之和。所以按这个规律写下去,便可得出一年内兔子繁殖的对数:1,2,3,5,8,13,21,34,55,89,144,233。可见一年内兔子共有233对。 我们用机算机C语言可以对上半张图列出以下程序: #include "stdio.h" #include "conio.h" void main() { int i;long int f1,f2; f1=1,f2=2;//f1代表第一个月,f2代表第二个月 for(i=1;i<=6;i++) { printf("%12ld%12ld",f1,f2); f1+=f2; //斐波那契 系数为第一个月加第二个月等于第三个的值 f2+=f1; //斐波那契 系数为第一个月加第二个月等于第三个的值. if(i%3==0)printf("\"); // 每行列出六个数. } } 人们为了纪念斐波那契,就以他的名字命名这个数列为斐波那契数列,该数列的每一项称为斐波那契数。斐波那契数列有许多有趣的性质。除了a(n)=a(n-1)+a(n-2)外,还可以证明它的通项公式为: a(n)=(((1+5^(1/2))/2)^n-((1-5^(1/2))/2)^n)/5^(1/2) 可它的每一项却都是整数。而且这个数列中相邻两项的比值,越靠后其值越接近0.618黄金比例。这个数列有广泛的应用,如树的年分枝数目就遵循斐波那契数列的规律;而且计算机科学的发展,为斐波那契数列提供了新的应用场所。 回过头来,我们再看看图片的上半部分: 我们同样可以通过这个数列,得到一个规律:即从第三项起,每一项等于前一项的得数乘以2. 所以按此规律写下去可以得出一年内兔子繁衍的对数为:1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048. 可见一年内共有2048对兔子,并且成年兔和未成的兔各占一半. 我们用机算机C语言可以对上半张图列出以下程序: #include "stdio.h" #include "conio.h" void main() { int i;long int f1,f2; f1=1,f2=2;//f1代表第一个月,f2代表第二个月 for(i=1;i<=6;i++) { printf("%12ld%12ld",f1,f2); f1=f2*2; //斐波那契 系数为前一个月的值乘2 f2=f1*2; //斐波那契 系数为前一个月的值乘2 不是第一个月加第二个月等于第三个的值. if(i%3==0)printf("\"); // 每行列出六个数. } } 作者简介比萨的列奥纳多,又称斐波那契(Leonardo Pisano ,Fibonacci, Leonardo Bigollo,1175年-1250年),意大利数学家,西方第一个研究斐波那契数,并将现代书写数和乘数的位值表示法系统引入欧洲。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。