(递归1)爬楼梯
題目描述
樹(shù)老師爬樓梯,他可以每次走1級(jí)或者2級(jí),輸入樓梯的級(jí)數(shù),求不同的走法數(shù)
例如:樓梯一共有3級(jí),他可以每次都走一級(jí),或者第一次走一級(jí),第二次走兩級(jí)
也可以第一次走兩級(jí),第二次走一級(jí),一共3種方法。
輸入
輸入包含若干行,每行包含一個(gè)正整數(shù)N,代表樓梯級(jí)數(shù),1 <= N <= 30
輸出
不同的走法數(shù),每一行輸入對(duì)應(yīng)一行輸出
樣例輸入
5
8
10
樣例輸出
8
34
89
n級(jí)臺(tái)階的走法 = 先走一級(jí)后,n-1級(jí)臺(tái)階的走法 + 先走兩級(jí)后,n-2級(jí)臺(tái)階的走法。即 f(n) = f(n-1)+f(n-2)
#include<iostream> #include<cmath> using namespace std;int f(int n){if(n==1) return 1;if(n==2) return 2;return f(n-1)+f(n-2); }int main(){int n;while(cin>>n){cout<<f(n)<<endl;} }總結(jié)
- 上一篇: JavaScript 函数定义+内置函数
- 下一篇: (二叉树存储+递归遍历)Binary T