public class Test{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入楼梯台阶数: ");
int n = sc.nextInt();
System.out.println("请输入最大步数: ");
int m = sc.nextInt();
System.out.println("走法有:" + getNumberOfWays(n, m) + " 种");
}
/**
*
* @param n 台阶数
* @param m 每步可走的最大台阶数
* @author wtao
* @date 2020-05-24 0:46
*/
private static int getNumberOfWays(int n, int m) {
int ways = 0;
if (n == 0) return 1;
if( n < m) {
ways = getNumberOfWays(n, n);
}else {
for (int i = 1; i <= m; i++) {
ways += getNumberOfWays(n - i, m);
}
}
return ways;
}
}