Übersicht > Türme von Hanoi > Prolog

Die Türme von Hanoi in Prolog

%***************************************************************%
%*  Die Türme von Hanoi                           Lizenz: GPL  *%
%*                                                             *%
%*  (c) 2002  Roland Illig <1illig@informatik.uni-hamburg.de>  *%
%***************************************************************%

% Bewegt n Scheiben von Turm a nach Turm c und benutzt als Zwi-
% schenspeicher Turm b.
bewege(A, _, C, 1) :-
    writef('Lege die oberste Scheibe von Turm %w auf Turm %w.\n',
           [A, C]).
bewege(A, B, C, N) :-
    M is N-1,
    bewege(A, C, B, M),
    bewege(A, B, C, 1),
    bewege(B, A, C, M).

hanoi(N) :-
    bewege(a, b, c, N).