home *** CD-ROM | disk | FTP | other *** search
Prolog Source | 1986-10-07 | 515 b | 24 lines |
- /* Program 55 */
- /*
- Goal on page 118. For more info on this program
- see the HANOI.PRO program on the Library disk.
- */
-
- domains
- loc = right ; middle ; left
-
- predicates
- hanoi(integer)
- move(integer,loc,loc,loc)
- inform(loc,loc)
-
- clauses
- hanoi(N) :- move(N,left,middle,right).
-
- move(1,A,_,C) :- inform(A,C),!.
- move(N,A,B,C) :-
- N1=N-1,move(N1,A,C,B),inform(A,C),move(N1,B,A,C).
-
- inform(Loc1,Loc2):-
- write("\nMove a disk from ",Loc1," to ",Loc2).
-