统计每个月兔子的总数

题目描述
有一对兔子,从出生后第3个月起每个月都生一对兔子,一对小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第n个月(n<=50)的兔子总数为多少对?
输入
输入1个整数n,表示第几个月
输出
第n个月兔子的总数量有多少?

样例输入 
9
样例输出 
34

这道题用普通的写法(递归 )肯定是要超时的  

so~~~

No.1 

#include 
using namespace std;
int main() {
	int n;
    cin>>n;
    long long a=1,b=1,c;
    for(int i=3;i<=n;i++){
    	c=a+b;
    	a=b;
    	b=c;
	}
    cout<

No.2 

#include 
using namespace std;
long long  fun(int n){
    long long r;
    if(n<=2) r=1;
    else r=fun(n-1)+fun(n-2);
	return r;
}
int main() {
	long long n;
    cin>>n;
    cout<

注 :代码超时 主要是想让小伙伴们了解一下递归  

题外话:这道题记忆化搜索怎么写 ......

 

你可能感兴趣的:(算法,c++,开发语言)