台阶

2020-07-13  本文已影响0人  Time_Notes

function steps(n) {

    if(n <= 3) return n; 

    return steps(n - 2) + steps(n - 1);

}


假如楼梯有n个台阶,每次可以走1个或2个台阶,请问走完这n个台阶有几种走法

如果第一步选1个台阶,后面就会剩下n-1个台阶,也就是会有f(n-1)种走法。

如果第一步选2个台阶,后面会有f(n-2)个台阶。

对于n个台阶来说,就会有f(n-1) + f(n-2)种走法。

function total(n) {

        if(n == 1) {return 1}

        if(n == 2) {return 2}

        return total(n-1) + total(n-2)

}

上一篇 下一篇

猜你喜欢

热点阅读