作者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
推 rehearttw:嗯!大學時我曾經學過,只是現在年紀大了,有很多遺忘 06/06 13:34
→ rehearttw:今日能重溫,真的感謝! 06/06 13:34
※ 編輯: turing 來自: 61.71.73.122 (06/06 15:17)