题目1205:N阶楼梯上楼问题
时间限制:1 秒
内存限制:128 兆
特殊判题:否
提交:1624
解决:552
-
题目描述:
-
N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)
-
输入:
-
输入包括一个整数N,(1<=N<90)。
-
输出:
-
可能有多组测试数据,对于每组数据,
输出当楼梯阶数是N时的上楼方式个数。
-
样例输入:
-
4
-
样例输出:
-
5
-
-
#include<cstdio> using namespace std; int main() { int n,i; long long a[91]; a[1]=1; //1阶楼梯有一种方法 a[2]=2; //2阶楼梯有两种方法 for(i=3;i<=90;++i) a[i]=a[i-1]+a[i-2];//i阶楼梯时,可以先走过i-1阶,然后再上一阶;也可以先走过i-2阶,再上两阶 while(~scanf("%d",&n)) printf("%ld\n",a[n]); return 0; } /************************************************************** Problem: 1205 User: 3011216016 Language: C++ Result: Accepted Time:0 ms Memory:1020 kb ****************************************************************/
需要注意printf()的输出格式。。。