C语言—移盘子----Hanoi(汉诺)塔问题,显示移动盘子的步骤
在学习递归的过程中,Hanoi(汉诺)塔问题是避开不了的,很多新手在这儿一脸懵。
我们先简单介绍一些Hanoi(汉诺)塔问题到底是个什么问题:说白了,就是现在有大小依次不一的盘子,堆积在一起,我们将这一堆称为A柱,现在我们要做的就是将A柱上的盘子全部移动到另外的一个空柱上去,这个空柱暂叫C柱,可以利用一个空B柱。
需要解决的问题:程序显示出移动盘子的具体步骤。
每次移动必须满足两个条件:1,大盘子在下方,小盘子在上方;
2,每次只能移动一个盘子。
画个简单的示意图:
具体实现步骤如上,代码如下:
2 #include <stdio.h>
3 #include <string.h