汉诺塔问题——java

package stact;

import java.util.Scanner;

public class Hanoi {
    private static int step;

    /*
    * n表示圆盘的个数
    * x、y、z表示三个基座
    * */
    private static void move(int n, String x, String y,String z) {
        if (n == 0) {
            return;
        }
        move(n - 1,x,z,y);
        System.out.println(step + ":" + n + "号圆盘从" + x + "移动到" + z);
        move(n - 1,y,x,z);
        step ++;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        step = 1;
        move(n,"x","y","z");
    }
}

发布了57 篇原创文章 · 获赞 55 · 访问量 1952

猜你喜欢

转载自blog.csdn.net/qq_40561126/article/details/104262088
今日推荐