下楼问题
从楼上走到楼下共有h个台阶,每一步有三种走法:
走一个台阶;
走二个台阶;
走三个台阶。
问可以走出多少种方案,希望用递归思想来编程。
1 import java.math.BigInteger; 2 import java.util.Arrays; 3 import java.util.Scanner; 4 5 6 public class Main { 7 public static int h; 8 public static int sum; 9 public static int[] a = new int[5]; 10 public static void main(String[] args) { 11 h = 4; 12 f(0); 13 System.out.println(sum); 14 } 15 public static void f(int i){ 16 if(i+3<=h){ 17 f(i+1); 18 f(i+2); 19 f(i+3); 20 }else if(i+2<=h){ 21 f(i+1); 22 f(i+2); 23 }else if(i+1<=h){ 24 f(i+1); 25 }else{ 26 sum++; 27 } 28 } 29 }