c语言汉诺塔问题 程序编译
发布网友
发布时间:2022-05-15 08:46
我来回答
共2个回答
热心网友
时间:2023-10-16 07:56
hanoi(n-1,a,c,b); /* 第一步:把A上部的n-1个盘子,借助C,先移动到B */
move(n,a,c); /* 第二步:把A最底部的第n号盘子移动到C */
hanoi(n-1,b,a,c); /* 第三步:把第一步移到B的n-1个盘子借助A移动到C */
/**********************************************************************
* 汉诺塔是把A上的n个盘子借助B,移动到C,所以,第一步移到B的n-1个盘子,
* 第三步需要再移到C
************************************************************************/
热心网友
时间:2023-10-16 07:57
hanoi(n-1,a,c,b); // 把A塔上的n-1个圆盘移到B塔,
hanoi(n-1,b,a,c); // 把B塔上的n-1个圆盘搬回C塔。
a,b,c在不同情况下对应着A,B,C塔。