我刚开始学习Polog,而且我必须做以下事情 第一个: 我必须编写一个谓词,它检查if列表A仅包含B具有的那些元素中的一些。 (A = [a,b] B = [a,b,c]为真),我这样做了,但我也必须确定两个列表的相等元素是否相同。比较Prolog中的两个列表,以确定这两个列表的等值元素是否相同计数
Example:
A = [b,b,c,c] (b and c is member of B so its true)
B = [a,b,b,c,c,d,f,g]
<--would be true
我写了第一部分,但我仍然要检查计数。 但我不能使用排序和数字来检查:使用select老师建议,但它是可选的
秒: 我得再添表达谓词,来检查,如果列表仅C包含了一些B具有的元素(与之前的任务完全相同)。 (C = [a,b] B = [a,b,c]是真的)(我已经做过了),但是我也必须检查B的元素是否在C中显示了2倍。EDIT1:到目前为止我所编写的代码是:
subset([ ],_).
subset([H|T],List) :-
member(H,List),
subset(T,List).
p(A,B,C) :- %this is the predicate in which I have to
subset(A,B), %compile everything together
subset(C,B).
你可以发表你已经写好的代码吗? – Rodolfo