سلام
من برنامه ورابطه ی برنج هانوی را دارم و خودم از روی شکل می توانم نحوه ی کار آن را بفهمم مثلا برای تشکیل برج 4 تایی باید اول برج 3 تایی تشکیل شود و برای تشکیل برج 3 تایی باید 2 تایی اول تشکیل شود تا 1 و بعد 4 آزاد می شود و به ستون مورد نظر می رود و بعد دوباره همان 3 تایی روی ستونی که 4 هست دوباره تشکیل شودو... ولی وقتی از روی برنامه می خواهم تریس کنم نمی توانم درک کنم چه می شود یهنی در فهم چگونگی تابع بازگشتی آن مشکل دارم...ممنون می شم اگه کسی پیدا بشه و برایم توضیح بده..
procedure Hanoi(n: integer; from, dest, by: char);
Begin
if (n=1) then
writeln('Move the plate from ', from, ' to ', dest)
else begin
Hanoi(n-1, from, by, dest);
Hanoi(1, from, dest, by);
Hanoi(n-1, by, dest, from);
end;
End;