Hanoi塔

2017年07月29日
由《数据结构》(c语言版)【严蔚敏  吴伟民 编著】
page54- page58 启发得到:
根据递归原理。
当n=1时,只需移动1次。
当n=2时,需要移动3次。
当n=3时。可以利用上题结论。经过我在公交车上的思考,可以得到递推公式。
本次增加一层所需的移动量,是之前(增加一层之前)的所需的移动量的2倍,还没完,再加上1。
这个使用语言表达起来还真有点繁琐。公式表达如下:
(目前不知道怎么利用latex等编辑器的方式输入公式)
最后可以得到当为n时的所需的移动次数的公式,结果看起来是很简单的。
2^n - 1
在Wikipedia中竟然发现了对该问题的详细的解答。和我的想法一致。
参考链接如下:
https://en.wikipedia.org/wiki/Tower_of_Hanoi
以上推理过程用到了高中数学中的数列知识。

posted @ 2017-07-29 23:28  panrui  阅读(243)  评论(0编辑  收藏  举报