编程语言
首页 > 编程语言> > java分治实现汉诺塔

java分治实现汉诺塔

作者:互联网

java分治实现汉诺塔

/**
 * 分治实现汉诺塔
 *
 * @param num 盘子的数量
 * @param a
 * @param b
 * @param c
 */
public static void hanoiTower(int num, char a, char b, char c) {
    // 如果只有一个盘
    if (num == 1) {
        System.out.println("第1个盘从" + a + " => " + c);
    } else {
        // 剩下所有的盘A->B,移动过程用到C
        hanoiTower(num - 1, a, c, b);
        System.out.println("第" + num + "个盘从" + a + " => " + c);
        // B->C
        hanoiTower(num - 1, b, a, c);
    }
}

测试类

public static void main(String[] args) {
    hanoiTower(5, 'A', 'B', 'C');
}

标签:java,分治,param,char,num,汉诺塔,hanoiTower
来源: https://www.cnblogs.com/coderDreams/p/16188294.html