- 題目描述:
- 一隻青蛙一次可以跳上1級台階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的台階總共有多少種跳法。
- 輸入:
-
輸入可能包含多個測試樣例,對于每個測試案例,
輸入包括一個整數n(1<=n<=50)。
- 輸出:
-
對應每個測試案例,
輸出該青蛙跳上一個n級的台階總共有多少種跳法。
分析result函數:i層跳法等于前i層跳法之和加1,故第i層跳法又是i-1層跳法的2倍,即可得到上面的遞推關系#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; }