Advertisement
Guest User

I mean it resolves but... how do I know I followed the rules

a guest
Apr 24th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. startJug(0,0):-
  2. solveJug(0,0),!.
  3. startJug(_,_):-
  4. write("Start with 0,0 ya dang goof."),fail,!.
  5.  
  6. solveJug(_,2):- !.
  7. solveJug(Jug1Before,Jug2Before):-
  8. changeJug(Jug1Before,Jug2Before,Jug1After,Jug2After),
  9. solveJug(Jug1After,Jug2After).
  10.  
  11. changeJug(Jug1Before,Jug2Before,3,Jug2After):- % Fill Jug1 with Jug2.
  12. Jug1Before \= 3,
  13. Jug2After is Jug2Before - (3 - Jug1Before),
  14. Jug2After >= 0.
  15. changeJug(Jug1Before,Jug2Before,Jug1After,0):- % Empty Jug2 into Jug1.
  16. Jug2Before \= 0,
  17. Jug1After is Jug1Before + Jug2Before,
  18. Jug1After =< 3.
  19. changeJug(Jug1Before,Jug2Before,0,Jug2Before):- Jug1Before = 3. % Empty full Jug1.
  20. changeJug(Jug1Before,Jug2Before,Jug1Before,4):- Jug2Before < 4. % Fill Jug2.
  21. changeJug(Jug1Before,Jug2Before,0,Jug2Before):- Jug1Before > 0. % Empty partial Jug1.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement