第五天打卡
1.问题:有一对兔子,从出生后的第3个月其每个月都生一堆兔子。小兔子长到第3个月后每个月有一对兔子,假设所有的兔子都不死,问30个月内每个月兔子总数为多少?
2.思路:找规律发现兔子每月的个数(大于等于3)等于前一个月加上第前两个月的兔子个数,通过函数递归求出每个月兔子的个数。
3.程序流程图:

4.代码实现:
#include<iostream>
using namespace std;
int fact(int n)
{
if(n==1||n==2){
return 1;
}
return fact(n-1)+fact(n-2);
}
int main()
{
for(int i=1;i<=30;i++){
if(i<=2){
cout<<i<<" 1"<<endl;
}
else
cout<<i<<" "<<fact(i)<<endl;
}
return 0;
}

浙公网安备 33010602011771号