作者turing (涂妮)
看板puzzle
标题Re: 河内塔之深入研究
时间Wed Jun 6 10:48:24 2007
以电脑程式来解的话,会用递回解法。
概念是n层的河内之塔,要从A柱移到B柱利用C柱。
分成三个阶段
将n-1层的河内之塔,从A柱移到C柱利用B柱。
将第n层,从A柱移到B柱。
将n-1层的河内之塔,从C柱移到B柱利用A柱。
程式 大概是这样:
procedure Hanoi(n: Integer; FromPole, ToPole, BufferPole: Tower);
begin
if n > 0 then
begin
Hanoi(n-1, FromPole, BufferPole, ToPole);
move(n, FromPole, ToPole);
Hanoi(n-1, BufferPole, ToPole, FromPole);
end;
end;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.71.73.122
1F:推 rehearttw:嗯!大学时我曾经学过,只是现在年纪大了,有很多遗忘 06/06 13:34
2F:→ rehearttw:今日能重温,真的感谢! 06/06 13:34
※ 编辑: turing 来自: 61.71.73.122 (06/06 15:17)