手机版

中国大学MOOC-哈工大-C语言程序设计精髓第六-十二(11)

发布时间:2021-06-08   来源:未知    
字号:

printf("\n");

}

return 0;

}

8.2 兔子生崽问题(4分)

题目内容:

假设一对小兔的成熟期是一个月,即一个月可长成成兔,那么如果每对成兔每个月都可以生一对小兔,一对新生的小兔从第二个月起就开始生兔子,试问从一对兔子开始繁殖,n(n<=12)月以后可有多少对兔子(即当年第n月份总计有多少对兔子,含成兔和小兔)?请编程求解该问题,n的值要求从键盘输入。

参考答案:依题意,兔子的繁殖情况如图所示。图中实线表示成兔仍是成兔或者小兔长成成兔;虚线表示成兔生小兔。观察分析此图可发现如下规律:

(1)每月小兔对数= 上个月成兔对数。

(2)每月成兔对数= 上个月成兔对数+ 上个月小兔对数。

综合(1)和(2)有:每月成兔对数= 前两个月成兔对数之和。

用fn(n=1,2,…)表示第n个月成兔对数,于是可将上述规律表示为如下递推公式:

#include<stdio.h>

int main(){

printf("Input n(n<=12):\n");

int n,total=0,i,s=0,b=1,t;

scanf("%d",&n);

printf("%4d",1);

for (i=2;i<=n;i++){

t=s;

s=b;

b=b+t;

printf("%4d",s+b);

}

printf("\nTotal=%d\n",s+b);

return 0;

}

中国大学MOOC-哈工大-C语言程序设计精髓第六-十二(11).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)