2016-05-18 69 views
0

我對prolog很新,我正在嘗試做一些練習。如何在prolog中拆分列表?

我需要編寫其中如果I型謂詞:

split([a,b,c,d,e,f,g,h,i,k],3,L1,L2). 

我應該得到L1 = [A,B,C]和L2 = [d,E,F,G,H,I, K]。 我不應該使用任何預定義的謂詞,也不需要使用任何奇特或古怪的東西。

我該怎麼做?

+0

請出示您到目前爲止已試了一下,問一個更具體的問題。你可以定義*花哨的*或*古怪的*? – lurker

回答

0

幾個版本分裂名單在序言而是根據你的建議,該斷言是最簡單的:

split(Xs,0,[],Xs). 
split([X|Xs],N,[X|L1],L2) :- 
     N1 is N-1, 
     split(Xs,N1,L1,L2).