我需要在 prolog 中找到一个 k 长度的列表子集,我有这个功能:
subset([], []).
subset([E|Tail], [E|NTail]):-
subset(Tail, NTail).
subset([_|Tail], NTail):-
subset(Tail, NTail).
我对列表的长度应用了另一条规则,
length(Xs,Size)
问题是它非常慢,因为它搜索全长子集,这个 k 长子集是否有直接递归定义?
我搜索了一个星期,找不到任何东西