Wieża hanoi w Prolog - Metody i systemy inżynierii wiedzy

[code=plain]hanoi(N) :- hanoitmp(N, 1, 2, 3). hanoitmp(0, _, _, _) :- !. hanoitmp(N, X, Y, Z) :- Ntmp is N-1, hanoitmp(Ntmp, X,Z,Y),przenies(X,Y),hanoitmp(Ntmp,Z,Y,X). przenies(Z1,Z2) :- writeln([przenies, dysk, z, kijka, Z1, na, Z2]).[/code] Test programu dla 5 krążków: [code=plain]hanoi(5).[/code] SWI-Prolog do pobrania tutaj: http://www.swi-prolog.org/

[code=plain]hanoi(N) :- hanoitmp(N, 1, 2, 3). hanoitmp(0, _, _, _) :- !. hanoitmp(N, X, Y, Z) :- Ntmp is N-1, hanoitmp(Ntmp, X,Z,Y),przenies(X,Y),hanoitmp(Ntmp,Z,Y,X).

przenies(Z1,Z2) :- writeln([przenies, dysk, z, kijka, Z1, na, Z2]).[/code]

Test programu dla 5 krążków: [code=plain]hanoi(5).[/code]

SWI-Prolog do pobrania tutaj: http://www.swi-prolog.org/