天勤OJ 题目1156: N阶楼梯上楼问题
题目描述
N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)
输入
输入包括一个整数N,(1<=N<90)。
输出
可能有多组测试数据,对于每组数据,
输出当楼梯阶数是N时的上楼方式个数。
样例输入
6
样例输出
13
提示 [+]
*** 提示已隐藏,点击上方 [+] 可显示 ***
来源
2008年华中科技大学计算机研究生保研机试真题
[cpp]
/*********************************
* 日期:2013-2-21
* 作者:SJF0115
* 题号: 天勤OJ 题目1156: N阶楼梯上楼问题
* 来源:http://acmclub.com/problem.php?id=1156
* 结果:AC
* 来源:2008年华中科技大学计算机研究生保研机试真题
* 总结:超出int范围
**********************************/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
long long int array[91];
int Step(){
array[0] = 0;
array[1] = 1;
array[2] = 2;
for(int i = 3;i < 91;i++){
array[i] = array[i-1] + array[i-2];
}
return 0;
}
int main()
{
int n;
Step();
while(scanf("%d",&n) != EOF){
printf("%lld\n",array[n]);
}
return 0;
}
/*********************************
* 日期:2013-2-21
* 作者:SJF0115
* 题号: 天勤OJ 题目1156: N阶楼梯上楼问题
* 来源:http://acmclub.com/problem.php?id=1156
* 结果:AC
* 来源:2008年华中科技大学计算机研究生保研机试真题
* 总结:超出int范围
**********************************/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
long long int array[91];
int Step(){
array[0] = 0;
array[1] = 1;
array[2] = 2;
for(int i = 3;i < 91;i++){
array[i] = array[i-1] + array[i-2];
}
return 0;
}
int main()
{
int n;
Step();
while(scanf("%d",&n) != EOF){
printf("%lld\n",array[n]);
}
return 0;
}
补充:软件开发 , C++ ,