% Generate lotto numbers % -----------lotto(Number_of_Numbers, Largest_Number, Pick)----------- lotto(0,_,[]). lotto(Length,Largest,Pick):- Length > 0, Length1 is Length - 1, lotto(Length1, Largest, OldPick), pick_one(Largest, OldPick, Pick). % ----------------nonmember(Item, List)----------- non_member(_, []). non_member(E, [A|B]) :- E \= A, non_member(E, B). % ------------------pick_one(Largest_Number, OldPick, OldPick_with_New_Digit) pick_one(Largest, OldPick, [Random|OldPick]) :- Random is random( Largest)+1, non_member(Random, OldPick), !. % ---------sample(number_of_items_in_sample). sample(0). sample(N) :- lotto(6, 49, P), write(P), nl, N1 is N - 1, sample(N1). % -----------repeatedly pick 6 numbers in range 1 to 49------- pick:-repeat, lotto(6, 49, P), write(P). pick(P):- repeat, lotto(6, 49, P). :- write('sample(Number_wanted). pick(More). pick. are loaded'), nl. :- write('M I S S I O N - I M P O S S I B L E'), nl. :- write('----------------------------------------'), nl. :-write('Your mission, if you choose to accept it, is to find out why'),nl. :-write('this version self destructs, at random'),nl.