如何在prolog中拆分列表?

时间:2016-05-18 08:17:59

标签: prolog

我对prolog很新,我正在尝试做一些练习。

我需要写一个谓词,如果我键入:

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]。  我不应该使用任何预定义的谓词,我不需要使用任何花哨或古怪的东西。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

在prolog中拆分列表的几个版本,但根据你的建议,这个谓词将是最简单的:

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