我具体写了青蛙跳台阶的非递归方式,递归方式以及变态跳 import java.util.Scanner; public class DemoB { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.println(jump1(n)); System.out.println(jump2(n)); System.out.println(jump3(n)); } public static int jump1(int n){ //非递归 if(n<3){ return n; } int a = 1; int b = 2; int sum = 0; for (int i = 3; i <=n ; i++) { sum = a + b; a = b; b = sum; } return sum; } public static int jump2(int n){ // 递归 if(n<3){ return n; } return jump2(n-1) + jump2(n-2); } public static int jump3(int n){ //变态跳 if(n<3){ return n; //f(n) = f(n-1) + f(n-2) + f(n-3) + … + f(0) //f(n-1) = f(n-2) + f(n-3) + f(n-4) +… +f(0) //两式联合可以推出 f(n) = 2 * f(n-1) } return 2*jump3(n-1); }