我得到几个具有相同输出的结果。
我想只获得一次jack,jane
,但我得到了两次。
我该如何避免这种情况?我试过setof
,但我无法完成它。请有人帮帮我吗?
答案 0 :(得分:1)
此问题在"How to stop repetitions in rules in prolog"中重复。
答案是做这样的事情:
solve :-
marriedcouple(Dad, Mum),
not(found(marriedcouple(Dad, Mum))),
assert(found(marriedcouple(Dad, Mum))),
write([Dad, Mum]),
nl,
fail.
阅读full answer了解更多详情。