Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % ex. 2
- rotaction(L,_,0,L).
- rotaction(L,Dir,N,Res):- -N > 0, N1 is N-1, rot(L,Dir,L1), rotaction(L1,Dir,n1,Res).
- rot(L,st,L1):- rotst(L,L1).
- rot(L,dr,L1):- rotdr(L,L1).
- rotst([],[]).
- rotst([X|R],L):- append(R,[X],L).
- rotdr([],[]).
- rotdr(L,[X|L1]):- ultim(L,L1,X).
- ultim([X],[],X).
- ultim([Y|R],[Y|L1],X):- ultim(R,L1,X).
- % ex. 3
- list_sub([],[]).
- list_sub([_|Xs],Ys) :-list_sub(Xs,Ys).
- list_sub([X|Xs],[X|Ys]) :-list_sub(Xs,Ys).
- sublist_of(Sub,List) :-list_sub(List,Sub).
- list_sublist_sum(Xs,S,Target) :- sublist_of(S,Xs),
- sum(S,#=,Target).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement