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函数

- 使用循环

本文介绍了一只青蛙跳上n级台阶的不同跳法总数的计算方法。通过数学归纳法得出规律并给出了两种实现方式:一种利用Math函数直接计算,另一种采用循环逐步计算。最终通过实例验证了两种方法的有效性。
538

被折叠的 条评论
为什么被折叠?



