一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
好的吧,实际上我并没有看出这道题和上一道跳台阶有什么本质上的差别,对我们而言,这就是一个加强版的斐波那契,原理上没有一丝不同。贴码如下:
int jumpFloorII(int number)
{
if(number < 0) return 0;
if(number == 0 || number == 1) return 1;
int res = 0;
for(int i = 1; i<=number; ++i)
res+=jumpFloorII(number-i);
return res;
}