Advertisement
soulrpg

deklaratywne_5_21

May 21st, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. pnp([], [], []).
  2. pnp([H|T], [H|X], Y):-H mod 2=:=0, pnp(T, X, Y).
  3. pnp([H|T], X, [H|Y]):-H mod 2=:=1, pnp(T, X, Y).
  4.  
  5. rosnący([_]).
  6. rosnący([E1, E2|T]):- rosnący([E2|T]), E1<E2.
  7.  
  8. arytmetyczny([_]).
  9. arytmetyczny([_, _]).
  10. arytmetyczny([E1, E2, E3|T]):-arytmetyczny([E2, E3|T]),E1-E2=:=E2-E3.
  11.  
  12. mniejniemniej(_, [], [], []).
  13. mniejniemniej(P, [H|T], [H|X], Y):-H<P, mniejniemniej(P, T, X, Y).
  14. mniejniemniej(P, [H|T], X, [H|Y]):-P=<H, mniejniemniej(P, T, X, Y).
  15.  
  16. kwiksort([], []).
  17. kwiksort([H|T], L2):-mniejniemniej(H, T, X, Y), kwiksort(X, W), kwiksort(Y, W2), append(W, [H], L), append(L, W2, L2).
  18.  
  19. maksio([A], A).
  20. maksio([H|T], Z):-maksio(T, Z), H<Z.
  21. maksio([H|T], H):-maksio(T, Z), H>=Z.
  22.  
  23. najbliższy(_, [Y], Y).
  24. najbliższy(V, [E|T], E):-najbliższy(V, T, W), abs(V-E)<abs(V-W).
  25. najbliższy(V, [E|T], W):-najbliższy(V, T, W), abs(V-E)>=abs(V-W).
  26.  
  27. nstart(X, _, []):-X=<0.
  28. nstart(X, [H|T], [H|S]):-X>0, Y is X-1, nstart(Y, T, S).
  29.  
  30. podział([], [], []).
  31. podział([H|T], L, [S|W]):-nstart(H, L, S), append(S, X, L), podział(T, X, W).
  32.  
  33. zamień([A], A).
  34. zamień([E1, E2|T], [E1|S]):-E1=<E2, zamień([E2|T], S).
  35. zamień([E1, E2|T], [E2, E1|T]):-E1>E2.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement