需要将所有奇数和超过给定数量的值从第二个列表添加到第一个。我确实喜欢这样:
add_to_list(L, X, [X|L]).
isEven(X):- 1 is X mod 2.
add_even(_, [], _, _).
add_even(FirstList, [X|SecondList], ResultList, Z):-
isEven(X),!,
X > Z,!,
add_to_list(FirstList, X, ResultList),
add_even(FirstList, SecondList, ResultList, Z).
add_even(FirstList, [_|SecondList], ResultList, X):-
add_even(FirstList, SecondList, ResultList, X).
但是,它根本不会生成任何列表,而是返回 true/false
?- add_even([1, 2, 3], [3, 4, 5], X, 4).
Result: false