爬楼梯

爬楼梯
Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description
小明是个非常无聊的人,他每天都会思考一些奇怪的问题,比如爬楼梯的时候,他就会想,如果每次可以上一级台阶或者两级台阶,那么上 n 级台阶一共有多少种方案?

Input
输入包含多组测试数据,对于每组测试数据:
输入只有一行为一个正整数 n(1 ≤ n ≤ 50)。

Output
对于每组测试数据,输出符合条件的方案数。
注意:64-bit 整型请使用 long long 来定义,并且使用 %lld 或 cin、cout 来输入输出,请不要使用 __int64 和 %I64d。

Sample Input
2
4
Sample Output
2
5

#include 
#include 

int main()
{
   long long int a[51];
   int n,i;
   a[1]=1;
   a[2]=2;
   while(scanf("%d",&n)!=EOF)
   {
       for(i=3;i<=n;i++)
       {
           a[i]=a[i-1]+a[i-2];
       }
       printf("%lld\n",a[n]);
   }
    return 0;
}

分析:可以在纸上构思一下一个台阶的时候什么情况,两个台阶的时候什么情况,三个。。。很容易得出递推公式。

你可能感兴趣的:(程序设计2,C语言,爬楼梯CSDN)