17. 用计算机解决“兔子繁殖问题”。

     题目描述:一对兔子饲养到第二个月进入成年,从第三个月开始每个月生一对小兔子,所生小兔子也是出生后第二个月成年,从第三个月开始每月生一对小兔子。假设兔子不会死亡,问这样下去一年后有多少对兔子?

   题目分析:设第n个月兔子的数量用Sn表示。第一、二个月兔子没有繁殖能力,所以还是一对,即S1=1,S2=1;第三个月,生下一对小兔子,兔子数量达到2对,即S3=2;第四个月大兔子继续生下一对小兔子,第三个月出生的小兔子进入成年期但还没生育,兔子数量再加1对,即S4=3;第五个月老兔子继续生育,前个月(第三月)出生的小兔子也开始生育,上个月(第四月)出生的小兔子成年,兔子数量加2对,即S5=5;……依次类推可以列出下表:

经过月数
1
2
3
4
5
6
7
8
9
……
兔子对数
1
1
2
3
5
8
13
21
34
……

    可以发现如下规律:除第1、2个月兔子数量为1对外,第n个月的兔子数量等于前两个月的兔子数量之和,即Sn=Sn-2+Sn-1。如果将每月兔子数量看做数列的各项,就构成了数学史上一个有名的数列,即“斐波拉契数列”:1、1、2、3、5、8、13、21、34、55……这个数列有许多奇特的性质,例如,从第3个数起,每个数与它后面那个   数的比值,都很接近于0.618,正好与大名鼎鼎的“黄金分割”相吻合。

(1)为解决此题,我们采用了  ▲  算法。(填:枚举、解析、排序、查找)(1分)

(2)Visual Basic程序界面设计如第17题图所示(图一为对象初始属性,图二为修改对象属性后界面)。



第17题图一
第17题图二

根据上图,下表A、B分别代表的属性名分别是   ▲      ▲   。(2分)

对象名称
对象属性
属性值
Form1
A
兔子繁殖问题
Text1
B
(空白)

(3)假设程序编写已经正确完成,运行后出现如第17题图二窗口。当在上边文本框输入12,则点击“开始计算”按钮后,下边文本框中显示的内容是:  ▲  。(1分)

 0  438931  438939  438945  438949  438955  438957  438961  438967  438969  438975  438981  438985  438987  438991  438997  438999  439005  439009  439011  439015  439017  439021  439023  439025  439026  439027  439029  439030  439031  439033  439035  439039  439041  439045  439047  439051  439057  439059  439065  439069  439071  439075  439081  439087  439089  439095  439099  439101  439107  439111  439117  439125  447090 

违法和不良信息举报电话:027-86699610 举报邮箱:58377363@163.com

精英家教网