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
以上推理过程用到了高中数学中的数列知识。
原文:http://www.cnblogs.com/praiseslow/p/7257930.html