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/