爬楼梯
来源:互联网 发布:php 服务器基础知识 编辑:程序博客网 时间:2024/06/10 03:13
爬楼梯
Time Limit: 1000 ms
Memory Limit: 65535 kB
Description
一个楼梯有n级,每次走1级或者2级,从底走到顶一共有多少种走法。
Input
输入的第一行是整数T(0<T<=1000),表示测试数据的组数。每一组测试数据只有一行即楼梯级数n,两者之间有一个空格。0<n<=30。
Output
对应每组输入,输出走法数。
Sample Input
2
3
5
Sample Output
3
8
假设f[i]为有i层阶梯时的方法数,所以可以得知f[n]= f[n-1] + f[n-2]。
同时f[1] = 1,f[0] = 1,所以整个序列即为斐波拉契序列。
#include <cstdio> int f[31]; int main() { FILE * fin, * fout; fin = fopen("1.std.in", "r"); fout = fopen("1.std.out", "w"); f[0] = 1; f[1] = 1; for ( int i = 2; i <= 30; i++ ) { f[i] = f[i-1] + f[i-2]; } int t, n; fscanf(fin, "%d", &t); while ( t-- ) { fscanf(fin, "%d", &n); fprintf(fout, "%d\n", f[n]); } return 0; }