递归问题

汉诺塔问题

记三根柱子分别为 $A$ $B$ $C$ ,初始时所有 $n$ 个圆盘都在 $A$ 上,要将所有圆盘从 $A$ 移动到 $C$ ,且在移动过程中始终保持大盘在下小盘在上。设最少需要移动 $T_n$ 次。

  • $n = 0$ 时,不需要移动, $T_0 = 0$
  • $n = k$ 时,最小的移动次数为 $T_k$
  • $n = k + 1$ 时,这个递归问题可以分解为三步:
    • 先将上面的 $k$ 个圆盘从 $A$ 移动到 $B$ ,最少需要 $T_k$ 步;
    • 再将最下面的第 $k + 1$ 个圆盘从 $A$ 移动到 $C$ ,需要 $1$ 步;
    • 最后将 $k$ 个圆盘从 $B$ 移动到 $C$ ,需要 $T_k$ 步。

于是有:

$$T_{k+1} = T_k + 1 + T_k = 2T_k + 1.$$

对式子两边同时除以 $2^{k+1}$

$$\frac{T_{k+1}}{2^{k+1}} = \frac{T_k}{2^k} + \frac{1}{2^{k+1}}.$$

$\{\frac{T_k}{2^k}\}$ 是一个等比数列,满足:

于是:

$$\frac{T_n}{2^n} = 1 - \frac{1}{2^n}.$$

于是:

$$T_n = 2^n - 1,\; n \ge 0.$$

通项为 $a_n = a_1 \cdot q^{n-1}$ ( $q \ne 1$ ) 的求和公式:

$$\sum_{i=1}^n a_i = \frac{a_1 \cdot (1-q^n)}{1-q} = \frac{a_1 - a_{n+1}}{1-q}$$

直线分割平面问题