题解 | #N阶楼梯上楼问题#
N阶楼梯上楼问题
https://www.nowcoder.com/practice/c978e3375b404d598f1808e4f89ac551
#include <iostream>
#include <vector>
using namespace std;
int main() {
int N;
while(cin>>N)
{
vector<int> dp(N+1,0);//dp[i]是i步楼梯的爬法
dp[1]=1;//一步楼梯只有一种爬法
dp[2]=2;//两步楼梯有两种
for(int i=3;i<=N;i++)
{
dp[i]=dp[i-1]+dp[i-2];//当我站在i层楼梯时,我有可能上一步爬了一步,也有可能上一步爬了两步,别无其它可能....
}
cout<<dp[N]<<endl;
}
}
// 64 位输出请用 printf("%lld")
