汉诺塔问题

来源:互联网 发布:弹簧计算软件在线 编辑:程序博客网 时间:2024/05/29 10:49
package coding;import java.util.Scanner;public class cha09_hanoi {    static long count;    static void hanoi(int n,char a,char b,char c){        if(n==1){            System.out.printf("第%d次移动:\t圆盘从%c棒移动到%c棒\n",++count,a,c);        }        else{            hanoi(n-1,a,c,b);            System.out.printf("第%d次移动:\t圆盘从%c棒移动到%c棒\n",++count,a,c);            hanoi(n-1,b,a,c);        }    }    public static void main(String[] args) {        // TODO Auto-generated method stub    int n;    count=0;    System.out.println("汉诺塔问题求解");    System.out.println("输入汉诺塔问题圆盘的数量");    Scanner input=new Scanner(System.in);    n=input.nextInt();    hanoi(n,'A','B','C');    System.out.println("求解完毕,总共需要"+count+"步移动");    }}
0 0