以電腦程式來解的話,會用遞迴解法。
概念是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;
--
All Comments