Blame | Last modification | View Log | RSS feed
/* pair2.pl -- pairs of digits WITHOUT replacement */pair(L) :- L = [X,Y],free_digit(X,L),free_digit(Y,L).free_digit(Dig,UsedList) :- var(Dig),digit(X),not_in(X,UsedList),Dig = X.free_digit(Dig,_) :- nonvar(Dig).digit(0).digit(1).digit(2).not_in(_,[]).not_in(D,[H|T]) :- var(H), not_in(D,T).not_in(D,[H|T]) :- nonvar(H), D \= H, not_in(D,T).