Advertisement
Jobjob

Programmation déclarative - Q4B - 06/2012

Jan 3rd, 2015
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 0.47 KB | None | 0 0
  1. slice(_, N1, N2, L2) :-
  2.     N1 < 1,
  3.     slice([], N1, N2, L2, 0), !.
  4.  
  5. slice([H|T], N1, N2, L2) :-
  6.     length([H|T], Len),
  7.     Len < N2,
  8.     slice([], N1, N2, L2, 0), !.
  9.  
  10. slice(L1, N1, N2, L2) :-
  11.     slice(L1, N1, N2, L2, 1).
  12.  
  13. slice([], _, _, [], _).
  14.  
  15. slice([H|T], N1, N2, L2, I) :-
  16.     I >= N1,
  17.     N2 >= I,
  18.     J is I+1,
  19.     slice(T, N1, N2, Tmp, J),
  20.     append([H], Tmp, L2), !.
  21.  
  22. slice([_|T], N1, N2, L2, I) :-
  23.     J is I+1,
  24.     slice(T, N1, N2, L2, J), !.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement