این کد برنامه کامل "برج هانوی" می باشد. همانطور که می دانید این بازی به طوری است که سه میله و تعدادی دیسک داریم. دیسک ها به ترتیب شماره گذاری شده از پائین به بالا (و از بزرگ به کوچک) در میله اول چینده شده اند. ما باید برنامه ای بنویسیم که این دیسک ها از میله یک به میله سوم منتقل شوند (و به همین ترتیب چیده شوند) این بازی یک قانون دارد که هیچگاه یک دیسک بزرگتر نمی تواند روی یک دیسک کوچکتر قرار گیرد. این برنامه به وسیله توابع بازگشتی نوشته شده است. البته این تنها راه نوشتن این بازی نیست!
program
var n,i:integer;
procedure transfer(n,m1,m3,m2:integer);
procedure diskmove(m1,m3:integer);
begin
writeln(i,') Move ',m1,' To ',m3); i:=i+1
end;
begin
if n>0 then
begin
transfer(n-1,m1,m2,m3);
diskmove(m1,m3);
transfer(n-1,m2,m3,m1);
end
end;
begin {main begin}
i:=1;
write('Enter the number of disks: ');
readln(n);
writeln;
transfer(n,1,3,2);
readln
end.