hanoi2_6.java

来自「java 算法设计与分析的好资料.由王晓东先生主编.」· Java 代码 · 共 30 行

JAVA
30
字号
//本程序取自王晓东编著“算法分析与设计”第 23 页,例2.6
//汉诺塔问题的递归解法
   import java.io.*;
    class hanoi2_6{
    public static void hanoi(int n,char a,char b,char c)
   {
    int x=n;
    System.out.println("hanoi("+n+","+(char)a+","+(char)b+","+(char)c+")");
    if(n>0)
    {
     hanoi(n-1,a,c,b);
     move(x,a,b);
     hanoi(n-1,c,b,a);
    }
   }
    public static void move(int x,char p,char q)
   {
    System.out.println((char)p+":"+x+"->"+(char)q);
   }
  public static void main(String args[]) throws IOException
   {
   InputStreamReader iin=new InputStreamReader(System.in);
   BufferedReader bin=new BufferedReader(iin);
      int n;
      System.out.print("input number<10  n=");
      n=Integer.parseInt(bin.readLine());
      hanoi(n,'A','B','C');
   }
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?