清单中的偶数/奇数功能

时间:2015-11-30 06:46:28

标签: prolog

我正在尝试在Prolog中创建偶数/奇数函数。

第一个参数是整数列表,第二个参数是偶数列表,最后一个参数是奇数函数列表。

这就是我目前的情况:

even_odd([], [], []).
even_odd([H|T], [H|E], O) :-
    0 is X mod 2,
    even_odd(T, E, O).
even_odd([H|T], E, [H|O]) :-
    1 is X mod 2,
    even_odd(T, E, O).

这适用于除空([])列表之外的每个列表。

每当我尝试空列表时,我得到:

even_odd([], Even, Odd).
Even = Odd, Odd = [].

而不是:

even_odd([], Even, Odd).
Even = [], Odd = [].

有人可以帮帮我吗?谢谢。

编辑:我已经查看了this,但它不适用于空列表。

0 个答案:

没有答案