小编Mar*_*tin的帖子

将整数列表拆分为正整数列表和负整数列表

我一直在尝试在Prolog中创建一个谓词,它将整数列表分成正整数列表和负整数列表.

具有预期结果的示例查询:

?- split([1,-2,3,4,-8],X,Y).
X = [1,3,4],
Y = [-2,-8].
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止的代码:

split([], [], []).
split([Head|Tail], List1, List2) :- split(Tail, [Head|List1], List2), Head>=0.
split([Head|Tail], List1, List2) :- split(Tail, List1, [Head|List2]), Head<0.
Run Code Online (Sandbox Code Playgroud)

我似乎无法弄清楚我做错了什么.

split list prolog clpfd

7
推荐指数
2
解决办法
5936
查看次数

标签 统计

clpfd ×1

list ×1

prolog ×1

split ×1