汉诺塔(hanoi)

来源:互联网 发布:雀巢咖啡好处坏处知乎 编辑:程序博客网 时间:2024/05/24 05:26
public class Hanoi {/** * Hanoi塔问题 */public static void main(String[] args) {try {Scanner s = new Scanner(System.in);System.out.print("请输入圆盘个数 n=");int n = s.nextInt();System.out.println("移动过程:");hanoi(n, 'a', 'b', 'c');// String n;// InputStreamReader isr=new InputStreamReader(System.in);// BufferedReader br=new BufferedReader(isr);// System.out.print("请输入圆盘个数 n=");// n=br.readLine();// hanoi(Integer.parseInt(n),'a','b','c');} catch (Exception e) {e.printStackTrace();}}public static void hanoi(int n, char a, char b, char c) {if (n == 1) {// 只有一个圆盘时System.out.println("Move Disc No:" + n + " from pile " + a + " to "+ b);} else {// 先把a上的n-1个圆盘借助b移到c上hanoi(n - 1, a, c, b);// 再把a上最大的圆盘移到b上System.out.println("Move Disc No:" + n + " from pile " + a + " to "+ b);// 然后把c上的n-1个圆盘借助a移到b上hanoi(n - 1, c, b, a);}}}