一道 / edao.plus
#10143

走楼梯·递推法

题目

一段楼梯共有 10 级台阶。小明每次可以跨上 1 级或 2 级。问他从地面走到第 10 级,一共有多少种不同的走法?

解法

  1. 分析最后一步:要到达第 n 级,要么从第 n-1 级跨 1 步上来,要么从第 n-2 级跨 2 步上来。
    a_1=1只跨 1 级初值
    a_2=21+1 或 2初值
    a_3=a_2 + a_1 = 2 + 1 = 3递推
    a_4=a_3 + a_2 = 3 + 2 = 5递推
    a_5=a_4 + a_3 = 5 + 3 = 8递推
    a_6=a_5 + a_4 = 8 + 5 = 13递推
    a_7=a_6 + a_5 = 13 + 8 = 21递推
    a_8=a_7 + a_6 = 21 + 13 = 34递推
    a_9=a_8 + a_7 = 34 + 21 = 55递推
    a_{10}=a_9 + a_8 = 55 + 34 = 89递推答案

    从 a_1、a_2 出发,每一步都等于前两步之和,这就是斐波那契数列。

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

    到达第 10 级共有 89 种不同的走法。

  3. 设 a_n 为到达第 n 级的走法数,则递推公式为 a_n = a_{n-1} + a_{n-2}。
  4. 初值:a_1 = 1(只有 1 种:跨 1 级),a_2 = 2(两种:1+1 或直接跨 2 级)。
  5. 依次递推,直到算出 a_{10}。

知识点

练一练

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

相关题目