第1个回答 2011-12-29
void hanoi (int n; char x, char y,char z)
/* 将塔座x上按直径由小到大且至上而下编号为1至n的
n个圆盘按规则搬到塔座z上,y可用作辅助塔座。*/
1 {
2 IF (n==1)
3 move(x, 1, z); /*将1号盘从x移到z*/
4 ELSE {
5 hanoi(n-1, x, z, y); /*将x上n-1个盘移到y, z作辅助塔*/
6 move(x, n, z); /*将n号圆盘从x移到z*/
7 hanoi(n-1, y, x, z); /*将y上n-1个盘移到z, x作辅助塔*/
8 }
}