정수 N, 정수 L 목록 및 기타 매개 변수를 사용하는 Prolog에서 관계 분할을 쓰려고합니다. 목록 L은 평평합니다. 목록 L이 세 개의 하위 집합으로 나눌 수 있으면 각 하위 집합의 정수 합이 N보다 작아지면 관계 분할은 true를 반환하고 그렇지 않으면 관계가 false를 반환합니다. 이것은 내가 지금까지 갔어요 멀리입니다 : Swi Prolog 관계
split(list, list, list, list)
split([],[],[],[]).
list_sum([],0).
split([X|L], [X|L1], [X|L2], L3):-
list_sum([Head + Tail]),
list_sum>N,
!,
split(N, L,L1, L2, L3).
- ERROR : 최상위 : 정의되지 않은 절차 : list_sum/2 (DWIM이 올바르지 목표 수) 어떤 도움과 설명이 높게 평가된다.
실제 코드가 될 수 없습니다! – CapelliC
더 가야합니다. –
몇 가지 유용한 조언을 제공하십시오. 자신의 말로 해결 알고리즘을 적어서 시작하고이를 우리와 공유하십시오. –