思路:
1.每次爬一个楼梯,或者爬2个楼梯,只有这两种方式,开始第一步必为1或2
2.列数:台阶数,方法数,步骤
1阶:1:1。。。。。。。。。。。。。。。。。。。。。。只有1种1开始
2阶:2:1[1],2。。。。。。。。。。。。。。。。。。。1开始为一阶所有方法,2开始只有一种
3阶:3:1[11],1[2],2[1]。。。。。。。。。。。。。。。1开始为二阶所有方法,2开始为一阶所有方法
4阶:5:1[111],1[12],1[21],2[11],2[2]。。。。。。。。1开始为三阶所有方法,2开始为二阶所有方法
3.观察数字,最开始两个是基础,规律已出:第n位数为前两数之和即
1,2,3,5,8,13…
if (n <= 3) {
return n;
}
else {
int f1=1,f2=2,f3=3;
for (int i=3;i<=n;i++) {
f3 = f1 + f2;
f1 = f2;
f2 = f3;
return f3;
}