Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- startJug(0,0):-
- solveJug(0,0),!.
- startJug(_,_):-
- write("Start with 0,0 ya dang goof."),fail,!.
- solveJug(_,2):- !.
- solveJug(Jug1Before,Jug2Before):-
- changeJug(Jug1Before,Jug2Before,Jug1After,Jug2After),
- solveJug(Jug1After,Jug2After).
- changeJug(Jug1Before,Jug2Before,3,Jug2After):- % Fill Jug1 with Jug2.
- Jug1Before \= 3,
- Jug2After is Jug2Before - (3 - Jug1Before),
- Jug2After >= 0.
- changeJug(Jug1Before,Jug2Before,Jug1After,0):- % Empty Jug2 into Jug1.
- Jug2Before \= 0,
- Jug1After is Jug1Before + Jug2Before,
- Jug1After =< 3.
- changeJug(Jug1Before,Jug2Before,0,Jug2Before):- Jug1Before = 3. % Empty full Jug1.
- changeJug(Jug1Before,Jug2Before,Jug1Before,4):- Jug2Before < 4. % Fill Jug2.
- changeJug(Jug1Before,Jug2Before,0,Jug2Before):- Jug1Before > 0. % Empty partial Jug1.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement