题解 | #N阶楼梯上楼问题#

N阶楼梯上楼问题

https://www.nowcoder.com/practice/c978e3375b404d598f1808e4f89ac551

不同顺序也算一种,eg:1,1,2;1,2,1;2,1,1;算三种。

创建状态数组dp[N],存储N阶楼梯上楼的方案,其中下标0舍弃,方便使用。

#include <iostream>
using namespace std;

#define N 90

int main(){
	int dp[N]={0,1,2,0};	//第一阶台阶方案是1,第二阶台阶方案数2
	int n;
	while(cin >> n && n>=1){
		int i;
		for (i = 3;i<=n;i++){	//从第三节台阶开始算
			dp[i] = dp[i-1]+dp[i-2];
		}
		
		cout <<dp[n]<<endl;
	}
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务