我正在Prolog中编写一个谓词,将列表分成两个相等的长度列表。例如:
spliting([a, b, c, d, e], L1, L2)
产生
L1 = [a, b, c], L2 = [d, e].
我的代码:
parimpar(L, A, B) :-
split(L, L, A, B).
split(B, [], [], B).
split([H|T], [_, _|T1], [H | T2], B) :-
split(T, T1, T2, B).
但它的工作只是拆分列表的长度是均匀的。 我该如何解决?