8-2c语言编程题假设一对小兔的成熟期是一个月,即一个月可长成成兔,那么如果每对成兔每个月都可以生一对小兔,一对新生的小兔从第二个月起就开始生兔子,试问从一对兔子开始繁殖
假设一对小兔的成熟期是一个月,即一个月可长成成兔,那么如果每对成兔每个月都可以生一对小兔,一对新生的小兔从第二个月起就开始生兔子,试问从一对兔子开始繁殖,一年以后可有多少对兔子(即当年12月份总计有多少对兔子,含成兔和小兔)?请编程求解该问题。
参考答案:依题意,兔子的繁殖情况如图所示。图中实线表示成兔仍是成兔或者小兔长成成兔;虚线表示成兔生小兔。观察分析此图可发现如下规律:
(1)每月小兔对数 = 上个月成兔对数。
(2)每月成兔对数 = 上个月成兔对数 + 上个月小兔对数。
综合(1)和(2)有:每月成兔对数 = 前两个月成兔对数之和。
输出格式:
每个月兔子对数的输出格式: "%4d"
第12个月的兔子总数的输出格式: "\nTotal=%d\n"
这题其实就是个斐波那契数列。小兔就是前个月的成兔数,然后上个月的成兔和小兔相加就是数列的前两个相加等于自己。 所以代码如下 我比上面的答案时间快多了,他那种成指数级增长的递归调用你试试m=40,他会慢死的
#include <stdio.h>
int main(void)
{
int i,tu1,tu2,tu3,m=12;
tu1=1;
tu2=1;
printf("%4d%4d",tu1,tu2);
for(i=3;i<=m;i++)
{
tu3=tu1+tu2;
printf("%4d",tu3);
tu1=tu2;
tu2=tu3;
}
printf("\nTotal=%d\n",tu3);
}
有甲乙丙三种纯净物,甲为黑色固体,乙丙为无色气体,点燃时,甲既可能生成乙又可能生成丙,丙点燃也能生 2020-04-26 …
醇沉多糖的问题——急!我用醇沉法沉淀粗多糖,再用sevage法去除蛋白后,再用三倍的95%醇沉,单 2020-04-27 …
初三化学问题1、氢气不仅是高能燃料,也可作等化工原料2、现有ABCDE五种物质,在A,C,E含同一 2020-05-13 …
A加CO,H2生成B,B和Br2生成CH3CHBrCHO,问A,和B是什么 2020-05-16 …
水溶液显碱性的单质气体有哪些?这个问题是这样的?ABC是高中常见单质BDEF溶液均显碱性常温下B为 2020-06-23 …
AB是两种黑色物质.A+B高温生成气体C和红色物质DC+A生成气体EE+氧化铁生成Fe问问ABCD 2020-06-26 …
在什么浓度的碳酸氢钠和氯化钙反应不生成沉淀大于什么浓度时有沉淀生成?小于什么浓度时没有沉淀生成? 2020-06-27 …
生物小问题制取细胞膜利用哺乳动物成熟红细胞,因为无核膜和细胞器膜.这是为什么啊?为什么没核膜和细胞 2020-07-06 …
最小生成树问题(c++)设计要求:在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法.存储 2020-11-03 …
急求生物小问题·快一模,急2显微镜中看到液体逆时针,实际是怎样?糖蛋白作用是什么?有受体蛋白吗,在什 2020-12-25 …