-
题目描述:
-
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
-
输入:
-
输入可能包含多个测试样例,对于每个测试案例,
输入包括一个整数n(1<=n<=50)。
-
输出:
-
对应每个测试案例,
输出该青蛙跳上一个n级的台阶总共有多少种跳法。
#include"stdio.h" long long result(int n) { long long result[80]; long long finresult=0; result[1]=1; for (int i=2;i<=n;i++) { result[i]=result[i-1]*2; } return result[n]; } int main() { int n; while (scanf("%d",&n)!=EOF) { long long finresult=result(n); printf("%lld\n",finresult); } return 0; }
分析result函数:i层跳法等于前i层跳法之和加1,故第i层跳法又是i-1层跳法的2倍,即可得到上面的递推关系