我有一個序言功課,應該像這樣工作:序言問題! '單身'!
singles([1,2,3,2,2,4,1], [3,4]).
true
現在我想通了,我應該測試,如果一個元素是列表中的一個,然後把所有的單個元素together..then我寫的下:
singles(L,SL):-findall(X,isSingle(X,L),SL).
isSingle(X,L):-member(X,L),append(Y,[X|Z],L),not(member(X,L1)),append(Y,Z,L1).
在
isSingle
功能
的X
應該在名單L
但沒有X
不在新名單L1
,像1
是[2,1,3]
但不是在[2,3]
,但可悲的是,整個事情不像我想的那樣工作:(
我認爲問題是在isSingle
部分,任何人都可以幫助我嗎?
哦謝謝!我自己已經明白了這一點!訂單很重要!你的解釋是完美的,完全解決了我的困惑,再次感謝:) – bearzk 2011-05-31 22:44:51
@bearzk你也可以使用select/3如果你允許:http://www.swi-prolog.org/pldoc/doc_for?object=select/ 3 – 2011-06-01 08:34:15