10个台阶,每次只能上1个或者2个,一共有多少种走法

原文连接:blog.csdn.net/kikitious_d…bash

2种状况

  • 最后一步是走1个
  • 最后一步是走2个。

结论

咱们假设最后一步走1个的排列方法是f(9),最后一步走2个的方法是f(8),那么f(9)+f(8)=f(10)ui

false条件

因为咱们一次只能走1步或者2步,那么当咱们总台阶数是1的时候,只有一种方法,是2的时候,有2种。spa

function step(n) {
        //n是总步数参数,1,2是每次上的台阶数
        if (n == 1) return 1;
        if (n == 2) return 2;
        else return step(n - 1) + step(n - 2);
}

复制代码