2016-05-18 12 views
0

Ich bin ziemlich neu zu Prolog und ich versuche, einige Übungen zu machen.Wie teilt man eine Liste in Prolog auf?

Ich brauche ein Prädikat zu schreiben, wo, wenn ich schreibe:

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

Ich soll L1 = get [a, b, c] und L2 = [d, e, f, g, h, i, k]. Ich sollte keine vordefinierten Prädikate verwenden und ich brauche nichts ausgefallenes oder verrücktes.

Wie kann ich das tun?

+0

Bitte zeigen Sie, was Sie bisher versucht haben, und stellt eine spezifischere Frage. Und kannst du * fancy * oder * wacky * definieren? – lurker

Antwort

0

mehrere Version eine Liste in Prolog zu spalten, sondern nach Ihrem Vorschlag dieses Prädikat ist die einfachste:

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