【发布时间】:2014-11-09 05:02:42
【问题描述】:
我正在尝试解决 SWI-Prolog 中的一个问题。我有一个合适的元素(常量)列表。
suitables(L) :- setof(X, isSuitable(X), L).
上面的每个元素都有一个通过函子的分数,我需要所有分数 > 10 的子集。我知道如何获得分数总和:
scoreSum([], 0).
scoreSum([H,T], Tot) :- getScore(H,F),scoreSum(T, Rest), Tot is F+Rest.
而条件可以这样表示:
cond(L) :- scoreSum(L, R), R > 10.
如何获得所有符合给定条件的子集?我可以根据答案here 获取子集,但是如何迭代该结果以仅获取与条件匹配的子集?
【问题讨论】:
标签: prolog