汉诺塔问题(C实现)

来源:转载

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上 } }



分享给朋友:
您可能感兴趣的文章:
随机阅读: