九度OJ1205题-递归求解问题
题目1205:N阶楼梯上楼问题
时间限制:1 秒
内存限制:128 兆
特殊判题:否
提交:5887
解决:2446
- 题目描述:
-
N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)
- 输入:
-
输入包括一个整数N,(1<=N<90)。
- 输出:
-
可能有多组测试数据,对于每组数据,
输出当楼梯阶数是N时的上楼方式个数。
- 样例输入:
-
4
- 样例输出:
-
5
- 来源:
- 2008年华中科技大学计算机保研机试真题
-
1 #include <iostream> 2 #include <stdio.h> 3 #include <string> 4 #include <map> 5 6 using namespace std; 7 8 int main() { 9 long long N[91]; 10 N[1] = 1; N[2] = 2; 11 int i = 0; 12 for(i = 3; i < 91; i++) { 13 N[i] = N[i-1] + N[i-2]; 14 } 15 int num; 16 17 while(scanf("%d", &num) != EOF){ 18 printf("%lld\n", N[num]); 19 } 20 return 0; 21 } 22
这里主要是解题思想比较重要
还有一个坑是long long是C99的,不是C90的,所以VC++里面不能使用
下载了DEV才行
希望到时候不是用VC