Ocena użytkownikóww: ***** / 8
Nadesłany przez Tomasz Lubiński, 17 listopada 2005 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
hanoi_d/Project1.dpr:
// Problem wiez Hanoi
// Tomasz Lubinski (c)2005
// www.algorytm.org
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
i: Integer;
procedure Hanoi(src, dst, n : Integer);
var
helper: Integer;
begin
helper := 6 - (src + dst); // calculate helper
if n = 1 then
writeln(IntToStr(src) + ' => ' + IntToStr(dst))
else
begin
Hanoi(src, helper, n-1);
Hanoi(src, dst, 1);
Hanoi(helper, dst, n-1);
end;
end;
begin
writeln('1 - palik zrodlowy');
writeln('2 - palik pomocniczy');
writeln('3 - palik docelowy');
writeln('Ile krazkow przeniesc? ');
read(i);
Hanoi(1, 3, i);
end.