home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l217 / 2.ddi / EXAMPLES / CH20EX05.PRO < prev    next >
Encoding:
Prolog Source  |  1990-03-26  |  475 b   |  23 lines

  1. /*
  2.    Copyright (c) 1986, 90 by Prolog Development Center
  3. */
  4.    
  5. domains
  6.    loc = right; middle; left
  7.  
  8. predicates
  9.    hanoi(integer)
  10.    move(integer, loc, loc, loc)
  11.    inform(loc, loc)
  12.  
  13. clauses
  14.    hanoi(N) :- move(N, left, middle, right).
  15.  
  16.    move(1, A, _, C) :- inform(A, C), !.
  17.  
  18.    move(N, A, B, C) :-
  19.        N1=N-1, move(N1, A, C, B),
  20.       inform(A, C), move(N1, B, A, C).
  21.  
  22.    inform(Loc1, Loc2) :- write("\nMove a disk from ", Loc1, " to ", Loc2).
  23.