递归实现代码:
青蛙跳台阶问题 一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法 ?
- 问题分析:
台阶的数量 | 跳法的数量 |
---|---|
1 | 1 |
2 | 2 |
3 | 3 |
4 | 5 |
5 | 8 |
… | … |
经过观察发现这是一个斐波那契数列,所以使用斐波那契数列的思想进行编程
- 代码实现:
package gyy;
import java.util.Scanner;
public class yinger1 {
public static void main(String[] args) {
System.out.print("请输入台阶的数量:");
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
System.out.print("一共有"+jumpFloor(n)+"种跳法");
sc.close();
}
static int jumpFloor(int num) {
if(num<3) {
return num;
}else {
return jumpFloor(num-1)+jumpFloor(num-2);
}
}
}
- 运行结果:
请输入台阶的数量:5
一共有8种跳法