天天看點

九度1389 劍指offer 變态跳台階

題目描述:
一隻青蛙一次可以跳上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倍,即可得到上面的遞推關系