爱因斯坦谜语中的数值比较



我的版本对学生的姓名、年龄、出身和学科感兴趣。

solve :-
length(X, 6),                  % there are six students
member([manuel, 19, _, _], X), % Manuel is 19 years old
member([_, 20, _, win], X),    % 20 years old student studies win
...

但是有些规则我不知道如何在Prolog中实现。例如:

奥利弗比数学学生大两岁,但比来自华盛顿的学生小两岁

我如何创建一个规则来比较这样的年龄?

member([oliver,OLIVER_AGE,_,_],X) ,
member([_,MATH_AGE,_,math],X) ,
member([_,WASHINGTON_AGE,washington,_],X) ,
OLIVER_AGE is MATH_AGE + 2 ,
OLIVER_AGE is WASHINGTON_AGE - 2

最新更新