汉诺塔(java)-创新互联

汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。 

目前创新互联已为近千家的企业提供了网站建设、域名、虚拟空间、网站托管、服务器租用、企业网站设计、宁夏网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

public class Hanoitower {
    static int count = 0;

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

    public static void hanoiTower(int num, char a, char b, char c) {
        count++;
        //    如果只有一个盘
        if (num == 1) {
            System.out.println("第1个盘从 " + a + "->" + c);
        } else {
            //如果是n>=2,我们可以看做两个盘 1、最下边的一个,2.上面所有的;
            //上边所有的从A移动到B
            hanoiTower(num - 1, a, c, b);
            //    把最下边的盘A移动到C
            System.out.println("第" + num + "个盘从 " + a + "->" + c);
            //把B塔的所有盘从B移动到C,
            hanoiTower(num - 1, b, a, c);
        }
    }
}
第1个盘从 A->C
第2个盘从 A->B
第1个盘从 C->B
第3个盘从 A->C
第1个盘从 B->A
第2个盘从 B->C
第1个盘从 A->C
第4个盘从 A->B
第1个盘从 C->B
第2个盘从 C->A
第1个盘从 B->A
第3个盘从 C->B
第1个盘从 A->C
第2个盘从 A->B
第1个盘从 C->B
第5个盘从 A->C
第1个盘从 B->A
第2个盘从 B->C
第1个盘从 A->C
第3个盘从 B->A
第1个盘从 C->B
第2个盘从 C->A
第1个盘从 B->A
第4个盘从 B->C
第1个盘从 A->C
第2个盘从 A->B
第1个盘从 C->B
第3个盘从 A->C
第1个盘从 B->A
第2个盘从 B->C
第1个盘从 A->C
31

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前题目:汉诺塔(java)-创新互联
网址分享:http://ybzwz.com/article/ddsgce.html