汉诺塔Hanoi

汉诺塔Hanoi

一个圆盘

image

if (n==1){
            System.out.println(a+" -----> "+c);    //a ---> c
        }

两个圆盘

image

 else{
            hanoi(n-1,a,c,b);                   //a ---> b
            System.out.println(a+" -----> "+c);    //a ---> c
            hanoi(n-1,b,a,c);                   //b ---> c
        }

多个圆盘

image

 //将汉诺塔上a上的全部按规则移到c上,b作中间载物。n为需要移动的块数
    public static void hanoi(int n ,String a,String b,String c){
        if (n==1){
            System.out.println(a+" -----> "+c);    //a ---> c
        }
        else{
            hanoi(n-1,a,c,b);                   //a ---> b
            System.out.println(a+" -----> "+c);    //a ---> c
            hanoi(n-1,b,a,c);                   //b ---> c
        }
    }

posted @ 2022-02-07 21:03  不吃紫菜  阅读(58)  评论(0编辑  收藏  举报