最近我在接受 C++ 开发者职位的面试,我被要求编写一个程序来解决一个有 3 列和 1000000 个圆盘的河内塔谜题,该程序必须将移动输出写入磁盘(“1->3”, “1->2”,...等等),我告诉他们这将是一个非常大的解决方案文件,因为河内塔的最小移动量是 2 次方 n - 1 而对于 1000000 这将是非常不适合任何硬盘驱动器的大数字,他们说经典算法是错误的,并且有一种算法可以解决这个难题,即使是 1000000 个带有发烧动作的光盘。我想知道是否存在这样的算法或者他们只是在骗我?
谢谢,帖木儿。