描述
在你面前有一个n阶的楼梯,你一步只能上1阶或2阶。 请问计算出你可以采用多少种不同的方式爬完这个楼梯。
输入
一个正整数,表示这个楼梯一共有多少阶
输出
一个正整数,表示有多少种不同的方式爬完这个楼梯
输入样例
5 10
输出样例
8 89
AC代码:
#include <bits/stdc++.h> #include<vector> #include<stack> #include<sstream> using namespace std; int climbStairsWays(int num) { int res = 0; if(num == 1) { res = 1; } else if(num == 2) { res = 2; } else if(num == 3) { res = 3; } else { int temp1 = 1; int temp2 = 2; int temp3 = 3; num = num - 3; while(num--) { res = temp2 + temp3; temp1 = temp2; temp2 = temp3; temp3 = res; } } return res; } int main() { int k = 0; while(cin>>k) { cout<< climbStairsWays(k)<<endl; } }