九度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倍,即可得到上面的递推关系

你可能感兴趣的:(剑指offer,九度oj,斐波那契数列,跳台阶,OJ)