发布网友 发布时间:2022-06-01 13:21
共3个回答
热心网友 时间:2024-12-05 00:58
方法一、用递归。
方法二、把兔子定义成结构,每个兔子自带计时器变量,繁殖就是新建节点,构建结构链表。每次循环遍历所有节点的计时变量大于3的就新建一个节点插入链表。最后统计节点数量。
我用方法1来写:
#include <stdio.h>
int childbirth(int bMth,int gMth)//bMth:调用时传0,gMth:经过的最大月数
{
int cnt=0,n=bMth,num=2;
while(n++<gMth+1)
if(cnt++>2)
num=num+childbirth(n,gMth+1);
return num;
}
int main()
{
int i,n;
printf("请输入经过多少月:"),scanf("%d",&n);
for(i=1;i<=n;i++)
printf("经过%d个月后:兔子数量为:%d\n",i,childbirth(0,i));
return 0;
}
热心网友 时间:2024-12-05 00:58
#include <stdio.h>热心网友 时间:2024-12-05 00:59
斐波那契数列,了解一下。