void Hanoi(unsigned int n, char x, char y, char z) //汉诺塔问题
{
if (n == 1)
printf("把第%u个盘片 从 %c ---> 到 %c\n", n, x, z);
else
{
Hanoi(n - 1, x, z, y); //递归调用,借助z,将n-1个盘片从x移动到y上
printf("把第%u个盘片 从 %c ---> 到 %c\n", n, x, z); //然后将最后一个从x移动到z上
Hanoi(n - 1, y, x, z); //递归调用,借助x,将n-1个盘片从y移动到z上
}
}
汉诺塔问题(C实现)
最新推荐文章于 2022-11-03 22:50:41 发布