A1037. 下楼问题
问题描述
试用递归方法编程求解下楼问题的方案数:从楼上到楼下共有h个台阶,下楼每步可走1个台阶、2个台阶或者3个台阶
问可走出多少种方案数
问可走出多少种方案数
输入格式
一行,只有一个整数h,4<=h<=20(其他情况输出0)
输出格式
一行,只有一个整数,表示下楼走法的总方案数
样例输入
4
样例输出
7
输入格式
一行,只有一个整数h,4<=h<=20
输出格式
一行,只有一个整数,表示下楼走法的总方案数
样例输入
4
样例输出
7
package www.tsinsen.com; import java.util.Scanner; public class A1037 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan=new Scanner(System.in); int h=scan.nextInt(); if(h<4||h>20) { System.out.println(0); } else{ System.out.println(fun(h)); } } public static int fun(int n) { if(n<0) { return 0; } if(n==0||n==1) { return 1; } return fun(n-1)+fun(n-2)+fun(n-3); } }