题目描述
树老师爬楼梯,有一楼梯共 n级,若每次只能跨上一级或者二级,要走上 n级,共有多少种不同走法?
例如:楼梯一共有 3级,他可以每次都走一级,或者第一次走一级,第二次走两级也可以第一次走两级,第二次走一级,一共 3种方法。
输入格式
输入包含若干行,每行包含一个正整数 N,代表楼梯级数,1<=N<=30
输出格式
不同的走法数,每一行输入对应一行输出。
样例
样例输入
5
8
10
样例输出
8
34
89
#include <iostream>
using namespace std;
int walk(int n) {
if (n == 1)
return 1;
else if (n == 2)
return 2;
else
return walk(n - 1) + walk(n - 2);
}
int main() {
int n;
int m = 1;
while (cin >> n) {
cout << walk(n) << endl;
}
return 0;
}