1
寫謂詞evenNumbers(L1,L2),如果包含隨機整數的列表L1 和列表L2包含來自L1的整數,則爲真。序言:查找偶數將它們添加到列表中
例如 ?-evenNumbers([2,1,-3,6,8,9],L2)。 »你的程序返回L2 = [2,6,8]。
我的代碼是:
evenNumbers([],[]).
evenNumbers([H|T],L):-
integer(H),
0 is H mod 2,
append([H],L,L);
evenNumbers(T,L).
我認爲它有問題,但你沒有解釋什麼。 –
問題是這行:append([H],L,L); 但我不知道如何解決它沒有追加。 –
查看密切相關的問題[Prolog Constraint編程查找偶數和奇數](http://stackoverflow.com/questions/21584521/prolog-constraint-programing-finding-even-and-odd-numbers)和[Sum of even ,在Prolog奇數的產品](http://stackoverflow.com/questions/32543847/sum-of-even-product-of-odd-numbers-in-prolog)和非常好的聲明[**第一個答案* *](http://stackoverflow.com/a/21607900/1613573)和[**第二個答案**](http://stackoverflow.com/a/32570620/1613573)。 – mat