小明爬楼梯,可以一次跨一层或两层台阶,问他爬到第N层台阶有多少种走法?

解析:

这种爬楼梯的有初始值,然后有规律的往后延伸的问题要想到斐波那契数列
动态规划+递归

 

 1 #include <iostream>  
 2 using namespace std;  
 3  
 4 long long f(int n){
 5     
 6     if(n==1)
 7         return 1;
 8     else if(n==2)
 9         return 2;
10     else 
11         return f(n-1)+f(n-2);
12 } 
13  
14 int main(){  
15     int num;  
16     cin>>num;  
17     
18     cout<<f(num)<<endl;  
19     return 0;  
20 } 

 

posted on 2018-03-31 09:15  cindy_1996  阅读(97)  评论(0编辑  收藏  举报