import java.util.Scanner;
/*
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。请用递归和循环2中方法实现
答案来源:https://www.cnblogs.com/minrh/p/8496549.html
如有侵权,请联系我删除!
*/
public class 青蛙 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入台阶数:");
int taijie = scanner.nextInt();
System.out.println("一共有:" + Faci(taijie) + "种方法!");
}
//三种方法
//递归
public static int Faci(int n) {
if (n == 0) {
return 0;
}
if (n == 1) {
return 1;
}
if (n == 2) {
return 2;
} else {
return Faci(n - 1) + Faci(n - 2);
}
}
//for循环
public static long JumpFloor(long n) {
long former1 = 1;
long former2 = 2;
long target = 0;
if (n == 0) {
return 0;
}
if (n == 1) {
return 1;
}
if (n == 2) {
return 2;
} else {
for (int i = 3; i <= n; i++) {
target = former1 + former2;
former1 = former2;
former2 = target;
}
return target;
}
}
//for循环
public static long JumpFloors(long n) {
long number1 = 1;
long number2 = 2;
long number3 = 4;
long target = 0;
if (n == 0) {
return 0;
}
if (n == 1) {
return 1;
}
if (n == 2) {
return 2;
}
if (n == 3) {
return 4;
} else {
for (int i = 4; i <= n; i++) {
target = number1 + number2 + number3;
number1 = number2;
number2 = number3;
number3 = target;
}
return target;
}
}
}
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
最新推荐文章于 2022-10-24 18:42:21 发布