一道+ / edao.plus
#10143

走楼梯·递推法

题目

一段楼梯共有 10 级台阶。小明每次可以跨上 1 级或 2 级。

问他从地面走到第 10 级,一共有多少种不同的走法?

解法

  1. 分析最后一步:要到达第 n 级,要么从第 n-1 级跨 1 步上来,要么从第 n-2 级跨 2 步上来。

  2. 所以到达第 n 级的走法数 = 到达第 n-1 级的走法数 + 到达第 n-2 级的走法数。

  3. 设 f(n) 为到达第 n 级的走法数,则递推公式为 f(n) = f(n-1) + f(n-2)。

  4. 初值:f(1) = 1(只有 1 种:跨 1 级),f(2) = 2(两种:1+1 或直接跨 2 级)。

  5. 依次递推,直到算出 f(10)。

    f(1) (初值:只跨 1 级)
    =1
    f(2) (初值:1+1 或 2)
    =2
    f(3) (递推 ③)
    =f(2) + f(1) = 2 + 1 = 3
    f(4) (递推 ④)
    =f(3) + f(2) = 3 + 2 = 5
    f(5) (递推 ⑤)
    =f(4) + f(3) = 5 + 3 = 8
    f(6) (递推 ⑥)
    =f(5) + f(4) = 8 + 5 = 13
    f(7) (递推 ⑦)
    =f(6) + f(5) = 13 + 8 = 21
    f(8) (递推 ⑧)
    =f(7) + f(6) = 21 + 13 = 34
    f(9) (递推 ⑨)
    =f(8) + f(7) = 34 + 21 = 55
    f(10) (递推 答案)
    =f(9) + f(8) = 55 + 34 = 89

方法

练一练

用 1×1 和 1×2 两种瓷砖铺一条 1×8 的长地面(两种瓷砖可以混用,不能不铺),一共有多少种不同的铺法?

相关题目