【发布时间】:2016-11-23 11:55:41
【问题描述】:
我有一套规则,包括:
family(Mother,Father,Children),其中 children 是一个列表(例如 [ag,bg])和 person/6。日期是人,设置为日、月、年。
我想说的是,如果两个孩子不是同一天或连续天出生的,那一定是相隔一年。 我已经在这工作了几个小时,但似乎无法到达任何地方,下面是我的代码,我个人不明白为什么它不起作用。 任何建议将不胜感激。
bad_children() :-
family(_,_,Q),
member(J,Q),
member(T,Q),
person(J,_,_,_,date(E,M,Y),place(_,_)),
person(T,_,_,_,date(F,M,K),place(_,_)),
( E \= F ; E \= (F+1) ; E \= (F-1) ),
(Y-K) < 1
; (K-Y) < 1,
write(J),
write(' and '),
write(T),
write(' are born to close together.').
【问题讨论】:
标签: prolog