package 蓝桥杯算法课.递归; /** * @ClassName 汉诺塔 * @Author ACER * @Description ToDo * @Date 2021/7/30 14:51 * @Version 1.0 **/ public class 汉诺塔 { public static void main(String[] args) { //将前n-1个盘子 从a移到b c作为辅助。 //从上往下 盘子由大到小 //先假设只有三个盘子 //1.先把a柱子上的前n-1个盘子从a借助c移到b //2.将第n个盘子移动到c //3.将b上的n-1个盘子 借助于a移动到c Hanoi('a','b','c',3); } static void Hanoi(char a,char b,char c,int n){ if (n>1){ //将前n-1个放到b Hanoi(a,c,b,n-1); System.out.println("把"+n+"从"+a+"放到"+c); //将b上的n-1个盘子放到c Hanoi(b,a,c,n-1); }else { System.out.println("将"+n+"从"+a+"放到"+c); } } }