
我做了个动画
三个盘子的汉诺塔你总会吧:
然后你移完发现左边柱子下面又蹦出来一个盘子
好吧, 那就把中间的柱子看成目标柱
然后把最大的移到右边, 然后就和搬三个一模一样了
更多的话也是一样的...
所以
所以说一共就三步
所以写成py代码就是
毫无理解难度啊...
C++那不一样的吗
Mathematica的话...我会直接Fold一个迭代器
迭代器会自己去找合适的缓冲区...
这就是 Frame - Stewart 算法
不过讲道理这么写挺欠揍的...谁™给我 pull 这种代码我直接打上去了2333
