题目
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
分析
兔子的规律为数列为1,1,2,3,5,8,13,21….
规律:第三个数永远等于前两个数之和。
算法一:
由规律得出公式:从第三个数开始,f(n)=f(n-1)+f(n-2)
根据递归调用算法得出:
#include<iostream>
using namespace std;
int f(int n){
if(n==1||n==2) return 1;
else return f(n-1)+f(n-2);
}
int main()