早教吧 育儿知识 作业答案 考试题库 百科 知识分享

N阶Hanoi问题求解设有三个塔座分别为X,Y,Z。先有N个直径各不相同的圆盘,且按直径从小到大编号为1,2,3……。开始时都放在X上。现在要按以下规则移动盘子。1.每次只能移动一个。2.Y

题目详情
N阶Hanoi问题求解设有三个塔座分别为X,Y ,Z。先有N个直径各不相同的圆盘,且按直径从小到大编号为1,2,3……。开始时都放在X上。现在要按以下规则移动盘子。 1.每次只能移动一个。 2.Y可作为中间柱。 3.移动过程中不能出现大盘压小盘的情况。 求算法,最好是用C或者JAVA语言描述!(C++我已经忘记了)
▼优质解答
答案和解析
晕,我给出了C++的程序。你不会不知道改成C语言吧? 算法描述 PROCEDURE Ahanoi(n,x,y,z) IF n=1 THEN move(x,1,z) ELSE {Ahanoi(n-1,x,z,y) move(x,n,z) Ahanoi(n-1,y,x,z) } RETURN 程序代码 #include void mov...