小青蛙跳台问题

111 阅读1分钟

一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。

function run(n) {
  let steps = 0
  function jump(preSteps, n) {
    if (n == 0) {
      console.log(preSteps)
      steps++
      return
    }
    if (n < 0) {
      return
    }
    jump(preSteps + ',' + 1, n - 1)
    jump(preSteps + ',' + 2, n - 2)
  }
  jump('', n)
  console.log('steps', steps)
}

run(5)

➜  src node test.js
,1,1,1,1,1
,1,1,1,2,
,1,1,2,1
,1,2,1,1
,1,2,2,
,2,1,1,1
,2,1,2,
,2,2,1
steps 8