C++母兔生小兔的问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 10:01:04
请用函数递归法,解这道题!
一只母兔从4岁开始每年生一只小母兔,按此规律,第N年时有多少只母兔?
求大家帮忙解下,用归递法来解,我数学不大好如果数学公式太深奥请注释下
设第(20)年时有多少母兔?把20带进去我好理解!!

#include<stdio.h>
int foo(int year)
{
int sum = 1;
for (int i =1;i<=year-3;i++)
{
sum+= foo(i);
}
return sum;
}
int main()
{
printf ("%d\n",foo(20));
return 0;
}
意思比较简单,自己是一只,遍历自己生的所有兔子,将所生的兔子数加和,等于由自己所生的所有兔子

和斐波那契数列有点类似,baidu之。记得里面递归和程序都全的。
反正都是二阶递推呗。
本题归纳如下:
F1=F2=F3=1,
Fn = Fn-3 + Fn-1.

比如F4=F1+F3,F5=F2+F4.

斐波那契数列

建议你先自己数几年的,就可以看出规律来啦,很简单的一个递推式.....

给:
#include<stdio.h>
#include<stdlib.h>
int foo(int n)
{
if(n==1||n==2||n==3)return 1;
else return foo(n-1)+foo(n-3);
}
int main()
{
int n;
printf("请输入年份\n");
scanf("%d",&n);
printf("第%d年有%d只\n",n,foo(n));
system(&quo