您的位置:首页 > 其它

蒜头爬楼梯

2016-02-26 22:20 183 查看
#include<iostream>
#include<cstdio>

using namespace std;
#define MAXN 50

int dp(int i){
if(i==1) return 1;
if(i==2) return 2;
dp(i)=dp(i-1)+dp(i-2);

}
int main(){
int n;
n=scanf("%d",&n);
printf("%d",dp(n));
}
使用数组记忆重复结果,优化
<pre name="code" class="cpp">#include<iostream>
#include<cstdio>

using namespace std;
#define MAXN 50
int result[100]={0};
int dp(int i){
int res;
if(result[i]) return result[i];
if(i==0) return 1;
if(i==1) return 1;
res=dp(i-1)+dp(i-2);
result[i]=res;
return res;

}
int main(){
int n;

scanf("%d",&n);
printf("%d",dp(n));
}




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: