任何人解决这个难题:
使用给出的线索计算出每个人的名字,葡萄酒,主菜和价格。 以下是此谜题中使用的所有类别和选项。
名字:Lynda,Nick,Robin,Virginia 葡萄酒:波尔多,基安蒂,梅鹿辄,设拉子 主菜:牛肉炒,柑橘鸡,菲力牛排,红鲷鱼 价格:24.99美元,25.99美元,26.99美元,27.99美元
线索:
答案 0 :(得分:2)
找出每个人的名字,葡萄酒,主菜和价格
所以我们将每个人都表示为4-ary复合词,p(Name,Wine,Entree,Price)
。似乎也有四个。
然后我们写下我们被告知的内容:
wine_and_dine(People):-
length(People,4),
Ordered1 = p(_,W1,red_snapper,_),
member(Ordered1, People),
% W1 \= bordeaux, but delay writing this down
% until it is defined some more
% or use freeze/2 in SWI:
freeze( W1, W1 \= bordeaux),
Lynda2 = p(lynda,_,_,PL2),
Had2 = p(_,bordeaux,_,PB2),
member(Lynda2, People),
member(Had2, People),
% PL2 < PB2, % check this only when they are known; or
freeze(PL2, freeze(PB2, PL2 < PB2)),
.... etc.
请参阅zebra-puzzle标记上的问答。