写一波汉诺塔代码来闯关4399小游戏

package com.zhao.algorithm;

/**
 * 汉诺塔问题
 */
public class Hanoi {
    public static void main(String[] args) {
        hanoi(4,"左柱子","中间柱子","右柱子");
    }
    /**
     * 汉诺塔问题  可以把n个盘看成n 和n-1个盘然后运用递归处理
     * 他的主子是三个
     * @param n 几个盘
     * @param left 左边的柱子
     * @param mid 中间的柱子
     * @param right 右边的柱子
     */
    public static  void hanoi(int n,String left,String mid,String right){
        if(n==1){
            System.out.println("从"+left+"移动盘1到"+right);
        }else {
            //首先移动n-1个盘到中间的柱子
            hanoi(n-1,left,right,mid);
            //然后移动下面的第n个盘
            System.out.println("从"+left+"移动盘"+n+"到"+right);
            //移动中间的n-1个盘到右边
            hanoi(n-1,mid,left,right);
        }

    }
}

版权声明:本文为pythoncd原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/pythoncd/articles/12305174.html