-
题目5:跳台阶
-
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:20
解决:8
-
题目描述:
-
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
-
输入:
-
输入可能包含多个测试样例,对于每个测试案例,
输入包括一个整数n(1<=n<=70)。
-
输出:
-
对应每个测试案例,
输出该青蛙跳上一个n级的台阶总共有多少种跳法。
-
样例输入:
-
5
-
样例输出:
-
8
解答:实际就是斐波那契数列,青蛙跳第n级,可以从第n-1级跳一下,也可以从n-2级跳两下。所以f[n] = f [n-1] + f [n-2] ,典型的斐波那契数列
-
#include <iostream>
using namespace std;
int main()
{
long long f[71]={0,1,2},n;
for(int i = 3;i <= 70 ;i++)
{
f[i]=f[i-1] + f[i-2];
}
while(cin >> n)
{
cout << f[n] << endl;
}
return 0;
}