美文网首页
分治算法(汉诺塔)

分治算法(汉诺塔)

作者: RalapHao | 来源:发表于2019-06-18 17:53 被阅读0次
  1. 将问题分而治之
public class Hannota {

    public static void main(String[] args) {
        Hannota hannota = new Hannota();
        hannota.hannota(8, "A", "B", "C");
        System.out.println("共计移动" + hannota.count);
    }
    
    int count = 0;
    private void hannota(int num, String a, String b, String c) {

        if (num == 1) {
            System.out.printf("第【1】个-%s--->%s\n", a, c);
        } else {
            hannota(num - 1, a, c, b);
            System.out.printf("第【%d】个-%s--->%s\n", num, a, c);
            hannota(num - 1, b, a, c);
        }
        count++;
    }
}

相关文章

网友评论

      本文标题:分治算法(汉诺塔)

      本文链接:https://www.haomeiwen.com/subject/anlqqctx.html