Advertisement

第十二周OJ总结<4>-算法-汉诺塔

阅读量:

Copyright (c) 2016,

烟台大学计算机与控制学院 All ringts reserved.

文件名称:OJ总结<4>-算法:汉诺塔

作 者:王兴振

完成日期:2016年11月18日

版 本 号:未知

题目描述:

汉诺塔(又称为河内塔)问题源自印度的一个古老传说。据传,开天辟地的神明勃拉玛在一座庙宇中留下了三根由金刚石制成的柱子A、B和C。其中,A柱上套有n个大小不一的金圆盘,最大的位于最下方,其余则按照从大到小的顺序依次叠放。庙中的僧侣们被赋予了将这些金盘全部从A柱转移到C柱的任务,并且只能借助B柱作为辅助工具。然而,他们必须遵循两个规则:每次只能移动一个圆盘,并且不能将较大的圆盘放置在较小的圆盘之上。尽管僧侣们不懈努力,但当n较大时,这一任务几乎难以完成。幸运的是,聪明的你能够借助计算机编写程序来协助他们实现这一目标。

输 入:

输入金片的数量n。此处要求n<=10。

输 出:

输出所有移动金片的过程。具体格式请参照样例。

样例输入:

2

样例输出:

Move disk 1 from A to B

Move disk 2 from A to C

Move disk 1 from B to C

提 示:

可以采用递归算法来实现该问题。

答 案:

#include <stdio.h>
void m(int,char,cha

全部评论 (0)

还没有任何评论哟~