我需要让列表[1,2,3,4,5]
分为定义鸿沟:劈成两半列表
a = [1,2,3}
b = [4,5]
我收到说"Arguments are not sufficiently instantiated"
一个错误,我不知道有足够的了解的语言要弄清楚我的问题是什么,或者我的设计是否正确。任何指导将不胜感激。
因此,这里是我到目前为止有:
append([],L2,L2).
append([H|T],L2,[H|L3]) :- append(T,L2,L3).
lengthIs([],N).
lengthIs([H|T],N) :- lengthIs(T,M), N is M+1.
divide([],[],[]).
divide([H|T],L2,L3) :-
( lengthIs(L2, M) < lengthIs(L1,N)/2
-> divide(T, append(L2, H, X), L3)
; divide(T, L2, append(L3,H,Y))
).
对于'div([1,2,3,4,5],[1,2,3],[4,5]),您检查为答案的解决方案失败。 ' – false