Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1.  
  2. Last Element
  3. lastEL([Head|[]],Head).
  4. lastEL([_|Tail],X) :- lastEL(Tail,X).
  5.  
  6.  
  7. NTH1
  8. nth22(X,[X|_],1).
  9. nth22(X,[_|Tail],K) :- K > 1, K1 is K -1 , nth22(X,Tail,K1).
  10.  
  11. NTH0
  12. nth000(X,[X|_],0).
  13. nth000(X,[_|T],K) :- K > 0, K1 is K - 1 , nth000(X,T,K1).
  14.  
  15. Member
  16. nalezy(X,[X|_]).
  17. nalezy(X,[_|T]) :- nalezy(X,T).
  18.  
  19.  
  20. Nextto
  21. obok(X, Y, [X,Y|_]).
  22. obok(X, Y, [_|Zs]) :- obok(X, Y, Zs).
  23.  
  24.  
  25. Delete
  26. usun([],_,[]) :- !.
  27. usun([X|T],X,L1) :- !, usun(T,X,L1).
  28. usun([H|T],X,[H|L1]) :- usun(T,X,L1).
  29.  
  30.  
  31.  
  32. Select
  33. wybierz(El,[El|T],T).
  34. wybierz(El,[H|T],[H|S]) :- wybierz(El,T,S).
  35.  
  36.  
  37. Odwracanie listy
  38. my_reverse(L1,L2) :- my_rev(L1,L2,[]).
  39. my_rev([],L2,L2) :- !.
  40. my_rev([X|Xs],L2,Acc) :- my_rev(Xs,L2,[X|Acc]).
  41.  
  42. FLATTEN
  43. my_flatten(X,[X]) :- \+ is_list(X).
  44. my_flatten([],[]).
  45. my_flatten([X|Xs],Zs) :- my_flatten(X,Y), my_flatten(Xs,Ys), append(Y,Ys,Zs).
  46.  
  47.  
  48. Suma dwóch list w jednej liście.
  49. sm([],[],[]).
  50. sm([A|L1],[B|L2],[C|L3]) :- C is A+B,sm(L1,L2,L3).
  51.  
  52.  
  53. Porównaj element list (Dlugość)
  54. rowne(N1,N2):-length(N1,X),length(N2,X).
  55.  
  56.  
  57. Porównaj element list (Dlugość)
  58. rowne1([],[]).
  59. rowne1([_|L1],[_|L2]) :- rowne1(L1, L2).
  60.  
  61.  
  62. Znajdz Maximum listy
  63.  
  64. max([Head], Head).
  65. max([Head|Tail], Head):- max(Tail, X), Head >= X,!.
  66. max([Head|Tail], X):- max(Tail, X), X > Head,!.
  67.  
  68.  
  69. Sprawdz czy równy początek list.
  70. poczatek([],[_|_]).
  71. poczatek([Head],[Head|_]).
  72. poczatek([Head1|Tail1],[Head2|Tail2]) :- Head1 == Head2, poczatek(Tail1,Tail2),!.
  73.  
  74.  
  75. Permutacja List
  76. permutuj([], []).
  77. permutuj([X|R], L) :- permutuj(R, L1),select(X, L, L1).
  78.  
  79.  
  80. Suma elementów listy.
  81. sum_list([], 0).
  82. sum_list([H|T], S) :- sum_list(T, R),S is H + R.
  83.  
  84.  
  85. Iloczyn zbioru List
  86. iloczyn([],_,[]).
  87. iloczyn([Head1|Tail1], Y, [Head1|Tail]) :- member(Head1, Y), iloczyn(Tail1, Y, Tail),!.
  88. iloczyn([_|Tail], Y, Z) :- iloczyn(Tail, Y, Z),!.
  89.  
  90. Suma Zbioru List
  91.  
  92. suma([],[],[]).
  93. suma(X, Y, [Head|Tail]) :- (member(Head,X); member(Head,Y)), delete(X,Head,X1), delete(Y,Head,Y1), suma(X1,Y1,Tail), !.
  94.  
  95. Roznica zbioru list
  96. roznica(X,X,[]).
  97. roznica([Head|Tail],Y,[]) :- member(Head,Y), roznica(Tail,Y,[]), !.
  98. roznica(X,[Head|Tail],X) :- not(member(Head,X)), roznica(X, Tail, X), !.
  99. roznica(X,Y,[Head|Tail]) :- member(Head,X), not(member(Head,Y)), delete(X,Head,X1), roznica(X1,Y,Tail), !.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement