水区万能,求汉诺言塔详细过程
汉诺言塔(HANOI)问题是指:在平面上有三个位置:A、B、C,在A位置上有N个大小不等的长文武塔,从下至上,依次排放,要求将A位置的N个长方形塔,通过B位置,移动到C位置上。当N小于等于3时好办,假设N=4,N=5时,又如何解呢?求详细过程,公式、函数不要,因为函数我有,一定要详细过程~方便我理解递归法~
规则如下:
1,每次只能移动一个塔
2,塔可以插在A,B,C中的任一位置
3,任何时刻都不能将一个较大的塔押在较小的塔上~ N=3
A321 B C
A32 B C1
A3 B2 C1
A3 B21 C
A B21 C3
A B C32
A B C321
————————————————————
N=4
A4321 B C
A432 B1 C
A43 B1 C2
A43 B C21
A4 B3 C21
A41 B3 C2
A41 B32 C
A4 B321 C
A B321 C4
A B32 C41
A2 B3 C41
A21 B3 C4
A21 B C43
A2 B1 C43
A B1 C432
A B C4321
————————————————————
N=5
A54321 B C
A5432 B C1
A543 B2 C1
A543 B21 C
A54 B21 C3
A541 B2 C3
A541 B C32
A54 B C321
A5 B4 C321
A5 B41 C32
A52 B41 C3
A521 B4 C3
A521 B43 C
A52 B43 C1
A5 B432 C1
A5 B4321 C
A B4321 C5
…… 沙发哈哈
对LZ或许会有帮助
http://zhidao.baidu.com/question/42716754.html?fr=qrl 好神奇吖。。。。 其实用递归算法的话你根本不用去理解步骤,最终步骤会简化到 A:B?C 这样的单步递归 对于一个N层塔实际就是把N-1层塔移到过渡位置然后把第N层移到目的地,然后把过渡位置的N-1层移到第N层上....在这个过程中对前N-1层的移动遵从同样法则只不过原本的目的地和过渡位置调换了一下而已.... 最简单办法,一个递归程序,虽然木效率. 很小的时候就在十万个为什么上看到过这个,那是还翻做“梵塔”
其实整个移动方法可以归纳为非常简单的两步,不停重复这两步即可 原帖由 huhui1980 于 2008-5-10 18:34 发表 http://bbs.newwise.com/images/common/back.gif
沙发哈哈
你现在就会纯水了是吧,233MAX 刚发现有个地方少写了一个数 = =
页:
[1]