Java教程

Java 老鼠走迷宫 汉诺塔

本文主要是介绍Java 老鼠走迷宫 汉诺塔,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

汉诺塔

public class Tower {
  public static void main(String[] args) {
    Hanoi hanoi = new Hanoi();
    hanoi.move(5, 'A', 'B', 'C');
  }
}

class Hanoi {
  // num: 盘数,a:A塔,b:B塔,c:C塔
  public void move(int num, char a, char b, char c) {
    if (num == 1) { // 只剩一个盘,出口
      System.out.println(a + " => " + c);
    } else {
      // 将多个盘看为2个, 最下的一个, 和上面的所有(num-1)
      move(num - 1, a, c, b); // 借助c, 将上面的num-1移动到 b
      System.out.println(a + " => " + c); // 最下面的移到c
      move(num - 1, b, a, c); // 借助a, 把b塔的num-1个移到c
    }
  }
}

  

 

这篇关于Java 老鼠走迷宫 汉诺塔的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!