递归函数c语言规则兔⼦⽣娃问题---函数递归应⽤--c语⾔实现
事情是这样的:在很久很久以前。。。。有⼀对兔⼦,从出⽣后第 3 个⽉起每个⽉都⽣⼀对兔⼦, ⼩兔⼦长到第三个⽉后每个⽉⼜⽣⼀对兔⼦, 假如兔⼦都不死,问每个⽉的兔⼦总数为多少?
兔⼦的规律为数列:1, 1, 2, 3, 5, 8, 13, 21 ....
#include <stdio.h>
int calrabbit(int month);
int calrabbit(int month)
{
int sum;
if(month>0&&month<=2)
{
sum = 1;
}
if(month == 3)
{
sum = 2;
}
if(month > 3)
{
sum = calrabbit(month-1)+calrabbit(month-2);
}
return sum;
}
int main(void)
{
int month;
while(1) //为了便于检验所以⽤了循环。。。但是停不下来了。所以只能⼿动停⽌啦
{
printf ("month = ");scanf("%d",&month);
printf("%d⽉后共有%d对兔⼦\n\n",month,calrabbit(month));
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论