我想在Prolog中編寫一個關係分割,它需要一個整數N,整數列表L和其他參數,列表L是平的。如果列表L可以分成三個子集,則每個子集中的整數之和嚴格小於N,否則關係split將返回true。否則,該關係返回false。這是到目前爲止,我走得最遠:Swi Prolog的關係
split(list, list, list, list)
split([],[],[],[]).
list_sum([],0).
split([X|L], [X|L1], [X|L2], L3):-
list_sum([Head + Tail]),
list_sum>N,
!,
split(N, L,L1, L2, L3).
- ERROR:頂層:未定義的程序:list_sum/2(DWIM不能正確的目標) 任何幫助和解釋是高度讚賞。
那不能是真正的代碼! – CapelliC 2013-05-07 05:13:58
你需要走得更遠。 – 2013-05-07 06:05:36
給出一些有用的建議:首先用自己的話寫下解決方案算法,並與我們分享。 – 2013-05-07 06:12:18