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

2,001 阅读1分钟

原文链接:blog.csdn.net/kikitious_d…

2种情况

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

结论

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

false条件

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

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