나는 단지 Polog를 배우기 시작했고, 다음과 같은 일을해야만한다. : 나는 술어를 써야한다. 목록 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
나는 첫 번째 부분을 작성했지만 아직 조사해야합니다. [ 교사가 선택하여 제안하지만
초 선택 사항입니다 : 목록 C는 일부 포함 된 경우 내가 확인 술어 다른 표현을 추가해야 하지만 나는 그것을 확인하고 번호를 정렬 사용할 수 없습니다 B가 가지고있는 요소 (이전 작업과 동일). (이미 완료되었으므로) C의 요소가 C에서 두 번 표시되는지 확인해야합니다.
Example:
A = [b,b,c,c]
B = [a,b,b,c,c,d,e,f,g]
C = [b,b,b,b,c,c,c,c] /or/ C=[a,a,b,b,b,b]
would be true.
(C = [a, b] B = [a, b, c] EDIT1 : 그리고 지금까지 작성한 코드는 다음과 같습니다
은 첫 번째는 그들이에 나타나는 B에있는 모든 요소를 제거하고 남은 것을 반환하여 수행 할 수 있습니다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