Recent

Author Topic: tower of hanoi  (Read 2250 times)

rabbit_dance

  • Full Member
  • ***
  • Posts: 157
tower of hanoi
« on: November 27, 2015, 05:33:14 am »
PROGRAM HANOI_TOWER;
VAR N:INTEGER;VAR C:INTEGER;VAR D:BOOLEAN;
PROCEDURE OUTF(A,B:INTEGER);
BEGIN
   WRITE(A,'-->',B,' ');
END;
PROCEDURE HANOI(K:INTEGER;VAR L:INTEGER;VAR A:BOOLEAN);
VAR M,I,H:INTEGER;VAR J:BOOLEAN;
BEGIN
   IF K=0 THEN EXIT;
   CASE L OF
      1:A:=FALSE;
      3:A:=TRUE;
   END;
   J:=A;H:=L;
   FOR I:=1 TO 2 DO
   BEGIN
      HANOI(K-1,H,J);
      IF A=FALSE THEN M:=L+1 ELSE M:=L-1;
      OUTF(L,M);
      L:=M;
   END;
   HANOI(K-1,H,J);
END;
BEGIN
   READLN(N);
   C:=1;
   HANOI(N,C,D);
END.

rabbit_dance

  • Full Member
  • ***
  • Posts: 157
Re: tower of hanoi
« Reply #1 on: November 27, 2015, 08:08:45 am »
what will you write if you want to accomplish this task?

rabbit_dance

  • Full Member
  • ***
  • Posts: 157
Re: tower of hanoi
« Reply #2 on: November 27, 2015, 08:22:01 am »
how to write a non-recursive implementation?
« Last Edit: November 27, 2015, 08:24:09 am by rabbit_dance »

cdbc

  • Hero Member
  • *****
  • Posts: 1025
    • http://www.cdbc.dk
Re: tower of hanoi
« Reply #3 on: November 27, 2015, 05:51:08 pm »
Hi
I think Julian Bucknall www.boyet.com has written an article about that, in his Delphi days.... Google it/him (very talented guy). Also his E-Book online http://www.e-reading.club/bookreader.php/142043/The_Tomes_Of_Delphi_Algorithms_And_Data_Structures.pdf is very interesting  ;D

Regards Benny
If it ain't broke, don't fix it ;)
PCLinuxOS(rolling release) 64bit -> KDE5 -> FPC 3.2.2 -> Lazarus 2.2.6 up until Jan 2024 from then on it's: KDE5/QT5 -> FPC 3.3.1 -> Lazarus 3.0

 

TinyPortal © 2005-2018