10、统计每个月兔子的总数
有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。
例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。
一月的时候有一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?
数据范围:输入满足 1≤n≤31
输入描述:
输入一个int型整数表示第n个月
输出描述:
输出对应的兔子总数
1、思路
兔子的规律为数列1, 1, 2, 3, 5, 8, 13, 21…
观察数列,很容易得出,从 [第三项] 开始,[每一项] 的 值 为 [前面两项] [数值]的[和]
2、具体实现
using namespace std;
int getSum(int n){ //求每月兔子数
if(n==1 || n==2) //递归出口
return 1;
return getSum(n-1)+getSum(n-2);
}
int main(){
int n;
while(cin>>n){
cout<<getSum(n);
}
// cin>>n;
// cout<<getSum(n);
}