PaweU

prolog4

Nov 12th, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. 1.
  2. usuń(El,[El|T], T).
  3. usuń(El,[H|T], [H|T2]) :-
  4. El \= H,
  5. usuń(El, T, T2).
  6.  
  7. 2.
  8. usuń_wszystkie(_, [], []).
  9.  
  10. usuń_wszystkie(El,[H|T], [H|T2]) :-
  11. El \= H,
  12. usuń_wszystkie(El, T, T2).
  13.  
  14. usuń_wszystkie(El,[El|T], T2) :-
  15. usuń_wszystkie(El, T, T2).
  16.  
  17. 3.
  18. dodaj(El,T,[El|T]).
  19. dodaj(El,[H|T],[H|T2]) :-
  20. dodaj(El,T,T2).
  21.  
  22. 4.
  23. palindrom(List) :-
  24. reverse(List, List).
  25.  
  26. 5.
  27. podlista([],[]).
  28.  
  29. podlista([First|Rest],[First|Sub]):-
  30. podlista(Rest,Sub).
  31.  
  32. podlista([_|Rest],Sub):-
  33. podlista(Rest,Sub).
  34.  
  35. 6.
  36. odetnij_z_lewej(N,List,Result) :-
  37. length(L, N),
  38. append(L, Result, List).
  39.  
  40. odetnij_z_prawej(N,List,Result) :-
  41. length(L, N),
  42. append(Result, L, List).
  43.  
  44. 7.
  45. zawiera(List, Sublist) :-
  46. append([_,Sublist,_], List).
  47.  
  48. 8.
  49. permutacja([],[]).
  50. permutacja([H|T],Result) :-
  51. permutacja(T, Result2),
  52. dodaj(H, Result2, Result).
  53.  
  54. 9.
  55. podziel([], [], []).
  56. podziel([X], [X], []).
  57.  
  58. podziel([X1, X2|T], [X1|T1], [X2|T2]):-
  59. podziel(T, T1, T2).
  60.  
  61. 10.
  62. spłaszcz([],[]).
  63. spłaszcz(X, [X]) :- \+ is_list(X).
  64. spłaszcz([H|T], X1) :-
  65. spłaszcz(H, X2),
  66. spłaszcz(T, X3),
  67. append(X2, X3, X1).
  68.  
  69.  
  70.  
  71. ZAD2
  72. 1.
  73. length_diff(L-E, 0):- is_empty_diff(L-E).
  74.  
  75. length_diff([H|T]-E, N) :-
  76. \+ is_empty_diff([H|T]-E),
  77. length_diff(T-E, N1),
  78. N is N1 + 1.
  79.  
  80. 2.
  81. member_diff(X,[X|_]-_).
  82. member_diff(X,[_|T]-E) :-
  83. \+ is_empty_diff(T-E),
  84. member_diff(X, T-E).
Add Comment
Please, Sign In to add comment