Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commitb9d200d296d362b2f3191ac8f2164a0bbc79b2a6 (patch)
Author
 Syndamia <kamen@syndamia.com>
2023-11-07 20:58:46 +0200
Committer
 Syndamia <kamen@syndamia.com>
2023-11-07 20:58:46 +0200
Files0d19d6ee006fb72e7cab3cdd8d082586ecb22b18
uni-projects-b9d200d296d362b2f3191ac8f2164a0bbc79b2a6.tar
uni-projects-b9d200d296d362b2f3191ac8f2164a0bbc79b2a6.tar.gz
uni-projects-b9d200d296d362b2f3191ac8f2164a0bbc79b2a6.zip
Parent270c189a94733693a9cbccfffebf7d31a8643dfd (diff)
[LP] Solved some example exercises
1 files changed, 31 insertions, 0 deletions
-rw-r--r--Year 3/Logical Programming/test.pdb31
diff --git a/Year 3/Logical Programming/test.pdb b/Year 3/Logical Programming/test.pdb
new file mode 100644
index 0000000..1da0a1f
--- /dev/null
+++ b/Year 3/Logical Programming/test.pdb
@@ -0,0 +1,31 @@
+% четно_позиционирани, нечетно_позиционирани
+
+even_elements([], []).
+even_elements([_,B|X], [B|Y]) :- even_elements(X, Y).
+
+odd_elements([], []).
+odd_elements([_], [_]).
+odd_elements([A,_|X], [A|Y]) :- odd_elements(X, Y).
+
+% p(X,Y)
+
+swap_odd_even(X, Y) :- even_elements(X, W), odd_elements(Y, W),
+ odd_elements(X, Z), even_elements(Y, Z).
+
+% Кои са всички триелементни списъци, които съдържат а, б и в?
+
+is_combination(_, []).
+is_combination(X, [B|W]) :- member(B, X), is_combination(X, W).
+
+% пермутация(X, Y)
+
+ins_elem(X, A, [A|X]).
+ins_elem([B|X], A, [B|Y]) :- ins_elem(X, A, Y).
+
+rm_elem([A|X], A, X).
+rm_elem([B|X], A, [B|Y]) :- rm_elem(X, A, Y).
+
+perm([], []).
+perm([_|_], []) :- false.
+perm([], [_|_]) :- false.
+perm(X, [B|Y]) :- member(B, X), rm_elem(X, B, W), perm(W, Y).