九度OJ题目1388:跳台阶

题目1388:跳台阶


时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:1033

解决:431

题目描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

输入:
输入可能包含多个测试样例,对于每个测试案例,

输入包括一个整数n( 1 <= n <=  70)。

输出:
对应每个测试案例,

输出该青蛙跳上一个n级的台阶总共有多少种跳法。

样例输入:5样例输出:8

MYCode
#include
#include
#include
using  namespace std;
#define MAX  75
long  long dp[MAX];
int main()
{
     int n;
     while(scanf( "%d", &n) != EOF)
    {
        dp[n] =  1;
        dp[n -  1] =  1;
         int i;
         for(i = n -  2; i >=  0; i--)
            dp[i] = dp[i +  1] + dp[i +  2];
        cout << dp[ 0] << endl;
    }
}
本题的一个陷阱
答案可能非常大,因此需要使用长整型的数据类型

你可能感兴趣的:(Algorithm)