具体数学-汉诺塔问题
题目
设$T_n$:将$n$个圆盘从一根桩移动到另一根桩所需最少移动次数。
思路:先把$n-1$个小的圆盘移动到另一个桩上(需要$T_{n-1}$次),再移动最大的圆盘(需要$1$次),最后将$n-1$个小圆盘移到最大圆盘上(需要$T_{n-1}$次)。
$$
T_n=2T_{n-1}+1,n>0
$$
$$
T_n = 2^n-1, n \geqslant 0
$$
关键词: 数学归纳法(mathematical induction)
C++实现显示汉诺塔的移动步骤
1 |
|
设$T_n$:将$n$个圆盘从一根桩移动到另一根桩所需最少移动次数。
思路:先把$n-1$个小的圆盘移动到另一个桩上(需要$T_{n-1}$次),再移动最大的圆盘(需要$1$次),最后将$n-1$个小圆盘移到最大圆盘上(需要$T_{n-1}$次)。
$$
T_n=2T_{n-1}+1,n>0
$$
$$
T_n = 2^n-1, n \geqslant 0
$$
关键词: 数学归纳法(mathematical induction)
1 |
|