Advertisement
Guest User

Untitled

a guest
Mar 27th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.31 KB | None | 0 0
  1. % prvek -- member
  2. prvek(X, [X|_]).
  3. prvek(X, [_|T]):- prvek(X,T).
  4.  
  5. % Pocet prvku -- length
  6. pocet([], 0).
  7. pocet([H|T], N):- pocet(T,N1), N is N1 + 1.
  8.  
  9. % sudost
  10. sude([], []).
  11. sude([H|L1], [H|L2]):- 0 is H mod 2, sude(L1,L2).
  12. sude([H|L1], L2):- 1 is H mod 2, sude(L1,L2).
  13.  
  14. % odd pos
  15. liche_p([], []).
  16. liche_p([X], [X]).
  17. liche_p([H1,H2|L1], [H1|L2]):- liche_p(L1,L2).
  18.  
  19. % diff
  20. diff([], _, []).
  21. diff([H|L1], L2, L3):- member(H,L2), diff(L1,L2,L3).
  22. diff([H|L1], L2, [H|L3]):- not(member(H,L2)), diff(L1,L2,L3).
  23.  
  24. % graph
  25. h(a, b, 1).
  26. h(b, c, 2).
  27. h(c, d, 3).
  28. h(a, e, 3).
  29. h(e, d, 4).
  30.  
  31. path(X, Y, C, []):- h(X, Y, C).
  32. path(X, Y, C, [Z|P]):- h(X, Z, C1), path(Z, Y, C2, P), C is C1 + C2.
  33.  
  34. % tetris
  35. % 3x3
  36. %
  37. % x   xxx   x   xx   x   xx
  38. % x         xx   x  xx   x
  39. % x
  40. %
  41. % index bottom left from [1,1]
  42. %
  43.  
  44. p([1,1]).
  45. p([2,1]).
  46. p([3,1]).
  47. p([1,2]).
  48. p([2,2]).
  49. p([3,2]).
  50. p([1,3]).
  51. p([2,3]).
  52. p([3,3]).
  53.  
  54. o(1, [X, Y], [X, Y1], [X, Y2]):-
  55.     Y1 is Y+1,
  56.     Y2 is Y+2.
  57.  
  58. o(2, [X, Y], [X1, Y], [X2, Y]):-
  59.     X1 is X+1,
  60.     X2 is X+2.
  61.  
  62. o(3, [X, Y], [X, Y1], [X1, Y]):-
  63.     X1 is X+1,
  64.     Y1 is Y+1.
  65.  
  66. o(4, [X, Y], [X1, Y], [X1, Y0]):-
  67.     X1 is X+1,
  68.     Y0 is Y-1.
  69.  
  70. o(5, [X, Y], [X1, Y], [X1, Y1]):-
  71.     X1 is X+1,
  72.     Y1 is Y+1.
  73.  
  74. o(6, [X, Y], [X, Y1], [X1, Y1]):-
  75.     X1 is X+1,
  76.     Y1 is Y+1.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement