题解 | #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;
	}
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
10-11 17:45
门头沟学院 Java
走吗:别怕 我以前也是这么认为 虽然一面就挂 但是颇有收获!
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务