1、问题描述
- 一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级……它也可以跳上 n 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
2、问题分析
- 数学归纳法,找出规律如下表所示:
台阶数量 | 跳法数量 |
---|---|
1 | 1 |
2 | 2 |
3 | 4 |
4 | 8 |
… | … |
由上表可推出: F(n)=2^(n-1);
3、代码
- 使用 Math函数
package com.tyutypj.com;
public class JumpFloor2 {
public static long jumpFloor2(int n){
if(n == 0){
return 0L;
}else{
return (long)(Math.pow(2,n-1));
}
}
public static void main(String[] args) {
System.out.println(jumpFloor2(4));
}
}
- 使用循环
package com.tyutypj.com;
public class JumpFloor2 {
public static long jumpFloor2(int n){
if(n == 0) {
return 0L;
}
// }else{
// return (long)(Math.pow(2,n-1));
// }
long result = 1;
for(int i=2;i<=n;i++){
result = result * 2;
}
return result;
}
public static void main(String[] args) {
System.out.println(jumpFloor2(39));
}
}
4、运行结果
- 使用 Math函数
- 使用循环