古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)
先将前几个月的兔子数量算出来,查看规律
前几个月的兔子对数为:1 1 2 3 5 8 13。。。
规律:前两项相加等于第三项
细节:
1.前两个月的处理
2.总数为最终结果*2(一对兔子有两只)
#include<stdio.h>
int main()
{
//sum为兔子对数 small为小兔子数 n为月数 tmp为小兔子没长大前的数量
int sum=1, small=0, n, tmp;
for(n=1;n<=40;n++)
{
if(n != 2) //第二个月初代兔子还没长大
tmp = small;
small = sum; //长大的小兔子
sum += tmp; //总数 大兔子加小兔子
printf("%10d\t",sum*2); //总数为总对数*2
if(n % 4 == 0) //美观
printf("\n");
}
return 0;
}
本文通过一个经典的数学问题——兔子繁殖问题,介绍了斐波那契数列的生成方式及其在实际问题中的应用。通过C语言实现了一个简单的程序来计算前40个月的兔子总数。
3744

被折叠的 条评论
为什么被折叠?



