<span style="font-size:18px;">/** * * @author admin * 一个楼梯有20级,每次走一级或两级,从底走到顶,一共有多少种走法 * 递归 动态规划 */ public class Floor { public static void main(String[] args) { int n=20; System.out.println(computer(n)); //方法1 递归 System.out.println(computer2(n,0)); // 方法2 递归 computer3(n); //方法3 动态规划 } public static int computer(int n) // 递归1 { if(n==0||n==1) { return 1; }else { return computer(n-1)+computer(n-2); } } public static int computer2(int n,int t) // 递归2 { if(n==0||n==1) { t++; return t; } for (int i = 1; i <= 2; i++) { t=computer2(n-i,t); } return t; } public static void computer3(int n) //动态规划 { int[] arr=new int[20]; arr[0]=1; arr[1]=2; for (int i = 2; i < arr.length; i++) { arr[i]=arr[i-1]+arr[i-2]; } System.out.println(arr[n-1]); } } </span>