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]。 我不應該使用任何預定義的謂詞,也不需要使用任何奇特或古怪的東西。
我該怎麼做?
我對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]。 我不應該使用任何預定義的謂詞,也不需要使用任何奇特或古怪的東西。
我該怎麼做?
幾個版本分裂名單在序言而是根據你的建議,該斷言是最簡單的:
split(Xs,0,[],Xs).
split([X|Xs],N,[X|L1],L2) :-
N1 is N-1,
split(Xs,N1,L1,L2).
請出示您到目前爲止已試了一下,問一個更具體的問題。你可以定義*花哨的*或*古怪的*? – lurker