变态跳台阶
这个相较于跳台阶问题(跳台阶是求一次跳一步或者两步),这里是求出所有的跳法
package mypavk;
//变态跳台阶
public class jumpFloor {
int JumpFloorII(int number){
return 1<< --number;
}
public static void main(String[] args) {
jumpFloor jumpFloor=new jumpFloor();
int i = jumpFloor.JumpFloorII(7);
System.out.println(i);
}
}
已知在普通跳台阶问题中:
f(n)表示跳的方法有多少
f(n)=f(n-1)+f(n-2)
在本文中
f(n)=f(n-1)+f(n-2)+…+f(1)
f(n-1)=f(n-2)+f(n-3)+…+f(1)
两式子相减
f(n)-f(n-1)=f(n-1)
f(n)=2*f(n-1) f(n)=1;
f(n)=2^(number-1)转化为程序语言
<< 乘2的n次方 >> 除2的n次方