算法分析:
- 阶梯数为1,爬楼梯方法就一种,为1,f(1)=1;
- 阶梯数大于1的时候,递归求解:阶梯数为2的时候,最多两种方式上楼:1 ,1;2 => f(2)=2;
- 爬三层楼梯的时候,爬1层,再爬两层,则是爬三层楼梯由爬一层楼梯和爬两层楼梯的情况的结合:f(3)=f(2)+f(1);
- 以此类推:f(n) = f(n-1)+f(n-2)+...+f(n-n+1) => f(n)=f(n-1)+f(n-2)+...+f(1);此种情况,设置的最大爬阶梯数为n-1;
- 当限定最大爬阶梯数量为m时候(0 ≤ m ≤ n-1) 那么,f(n)=f(n-1)+f(n-2)+...+f(n-m)。
/**
*
*/
package com.cn.count;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Scanner;
import j