Blame | Last modification | View Log | RSS feed
/* After John Fisher prolog tutorial 2.8 *//* Enumerates ways to return $1 in change: */change([Q,D,N,P]) :-member(Q,[0,1,2,3,4]), /* quarters */member(D,[0,1,2,3,4,5,6,7,8,9,10]) , /* dimes */member(N,[0,1,2,3,4,5,6,7,8,9,10, /* nickels */11,12,13,14,15,16,17,18,19,20]),S is 25*Q +10*D + 5*N,S =<100,P is 100-S./* Returns correct change for the given AMT: */change1(AMT,[Q,D,N,P]) :-member(Q,[0,1,2,3,4]), /* quarters */member(D,[0,1,2]), /* dimes */member(N,[0,1]), /* nickels */member(P,[0,1,2,3,4]), /* pennies */AMT is 25*Q +10*D + 5*N + P.