详细讲解汉诺塔算法的原理,并且提供了动态演示程序,帮助读者理解!!!...
分类:
其他好文 时间:
2014-11-04 17:23:45
阅读次数:
181
伪算法: ? ? ? ? ? ? ? ? 如果是1个盘子 ? ? ? ? ? ? ? ? ? ? 直接将A柱子上的盘子从A移到C ? ? ? ? ? ? ? ? 否则 ? ? ? ? ? ? ? ? ? ? 先将A柱子上的n-1个盘子借助C移到B...
分类:
其他好文 时间:
2014-11-04 15:24:29
阅读次数:
169
竟然忘记了汉诺塔递归了。。。有3个柱子,有n个盘子在A柱子,需要通过B把n个盘子放到C的柱子上。盘子都是从上到下半径依次增大的hanoi(int n,char A,char B,char C)//通过B把A上的n个盘放到C上{ if(n==1) move(1,A,C);//如果是编号为1的盘就...
分类:
其他好文 时间:
2014-11-03 06:40:53
阅读次数:
216
汉诺塔(三)描述在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在...
分类:
其他好文 时间:
2014-11-02 17:51:42
阅读次数:
184
Description汉诺塔是一个小游戏,如图,有三根木桩,从左到右分别是1、2、3,有n个盘子,从小到大编号分别为1~n(图中n = 3),初始状态下,n个盘子都在1号木桩上,并且盘子从上到下编号递增。游戏的目标是把所有盘子从木桩1移动到木桩3上。游戏规则:1、每次只允许移动一个盘子2、移动盘子时...
分类:
其他好文 时间:
2014-10-31 15:17:50
阅读次数:
284
#include void hannuota(int n, char a, char b, char c){ /* 若果是1个盘子 直接将盘从子啊a移动到c; 否则 先将a柱子上的(n-1)个借助c移动到b, 再将a柱子上的盘子移动...
分类:
其他好文 时间:
2014-10-29 16:27:37
阅读次数:
182
#include
int c;
void move(char x, int n, char z)
{
printf("%i. Move disk %i from %c to %c\n",++c, n,x,z);
}
void hanoi(int n, char x, char y, char z)
{
//将塔座x上按直径由小到大编号为1至n的n个圆盘按规则搬到...
分类:
其他好文 时间:
2014-10-15 23:42:31
阅读次数:
273
看了博文自己动手写了代码。这能值几个钱?请写代码完成汉诺塔的算法:void Hanoi(int maxLevel);比如2层汉诺塔,需要打印(Console.WriteLine)出如下文本:A -> BA -> CB -> Cfunction HanNuoTa(Level,A,B,C){ if...
分类:
编程语言 时间:
2014-10-10 23:37:54
阅读次数:
259
#includevoid han(int n,char a,char b,char c){ if(n==1) { printf("%c--%c\n",a,c); } else { han(n-1,a,c,b); printf("%c--%c\n",a,c); han(n-1,b,a,c);...
分类:
其他好文 时间:
2014-10-06 01:25:09
阅读次数:
242
??1.故事介绍汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上依照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从以下開始按大小顺序又一次摆放在还有一根柱子上。而且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次仅仅...
分类:
编程语言 时间:
2014-10-05 12:30:28
阅读次数:
231