Hanoi
双塔问题
(hanoi.pas/c/cpp)
【问题描述】
给定
A
、
B
、
C
三根足够长的细柱,在
A
柱上放有
2n
个中间有孔的圆盘,共有
n
个不同的尺
寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘足不加区分的
(
下图为
n=3
的情形
)
。现要将
这些圆盘移到
C
柱上,在移动过程中可放在
B
柱上暂存。要求:
(1)
每次只能移动一个圆盘;
(2)A
、
B
、
C
三根细柱上的圆盘都要保持上小下大的顺序;
任务:设
An
为
2n
个圆盘完成上述任务所需的最少移动次数,对于输入的
n
,输出
An
。
【输入】
输入文件
hanoi.in
为一个正整数
n
,表示在
A
柱上放有
2n
个圆盘。
【输出】
输出文件
hanoi.out
仅一行&#