一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
排列组合问题
class Solution {
public:
int jumpFloor(int number) {
int num=0,ans=0;
while(number>=num){
ans+=cnm(number,num);
num++;
number--;
}
return ans;
}
//这个函数作用:排列组合中的 nCm
long long cnm(int x,int y){
y=min(y,x-y);
long long result=1,num=y;
while(num--){
result*=x;
x--;
}
for(int i=2;i<=y;i++)
result/=i;
return result;
}
};