算法如下:
Algorithm move(k, from, to, spare)
if k >0 then
move(k−1, from, spare, to)
printf (”move top disc from %d to %d\n”,
from, to)
move(k−1, spare, to, from)
k 是磁盘的数量(http://en.wikipedia.org/wiki/Tower_of_Hanoi)。我了解递归,我只是不明白这是如何工作的,任何人都可以理解这一点吗?
抱歉在这里的描述含糊不清,只是我对正在发生的事情的理解也很模糊-我不知道 printf 行在做什么,这似乎对整个功能至关重要。