/* * 为了将num个盘子从char移动到to,需要先将第num个盘子上面的num-1个盘子移动到temp上, * 然后将第num个盘子移动到to上,最后将第N-1个盘子从temp移动到to上。这样通过递归 * 就可以实现汉诺塔问题的求解。 */ public static void HanuoTower(int num, char from, char temp, char to){ if(num==1){ System.out.println("从"+from+"移动盘子"+num+"号到"+to); } else{ HanuoTower(num-1,from,to,temp); System.out.println("从"+from+"移动盘子"+num+"号到"+to); HanuoTower(num-1,temp,from,to); } }
经典汉诺塔递归实现
原创
©著作权归作者所有:来自51CTO博客作者递归梦想的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
函数递归经典题目——汉诺塔,青蛙跳台阶
递归常见例题——斐波那契、汉诺塔、青蛙跳台阶
递归 n的阶乘 i++ -
java 汉诺塔递归实现
汉诺塔的问题:这个问题在以前也敲过代码,但是算法和数据结构在平时的时候,就
java 面试 数据结构与算法 数据结构 System -
汉诺塔 java递归 汉诺塔递归程序
汉诺塔的算法主要包括3个步骤:第一,把a上的n-1个盘通过c移动到b。第二,把a上的最下面的盘移到c。第三,因为n-1个盘全在b上了,所以把b当做a重复以上步骤就好了。
汉诺塔 java递归 递归 #include 保存数据