如果你要爬一个 n 阶的楼梯(n为正整数),每次可以爬 1 或者 2 个台阶。那么你有多少种不同的方法可以爬到楼顶呢?
Eg:
输入:3
输出:3
解释:有三种方法可以爬到楼顶→1+1+1、1+2、2+1
import java.util.Scanner;
public class list02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int n=in.nextInt();
// 求出爬到n的方法,所以要列到n+1
int[] amount=new int[n+1];
amount[0]=0;
amount[1]=1;
amount[2]=2;
if(n<3)
System.out.println(amount[n]);
else {
for(int i=3;i<n+1;i++) {
// 爬到n的结果是爬到n-1和n-2的结果之和
amount[i]=amount[i-1]+amount[i-2];
}
System.out.println(amount[n]);
}
}
}