汉诺塔Hanoi
汉诺塔Hanoi
一个圆盘
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
}
多个圆盘
//将汉诺塔上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
}
}
本文来自博客园,作者:不吃紫菜,遵循CC 4.0 BY-SA版权协议,
转载请附上原文出处链接:https://www.cnblogs.com/buchizicai/p/hanoi.html及本声明;
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。