diff options
| Commit | b9d200d296d362b2f3191ac8f2164a0bbc79b2a6 (patch) | |
|---|---|---|
| Author | 2023-11-07 20:58:46 +0200 | |
| Committer | 2023-11-07 20:58:46 +0200 | |
| Files | 0d19d6ee006fb72e7cab3cdd8d082586ecb22b18 | |
| uni-projects-b9d200d296d362b2f3191ac8f2164a0bbc79b2a6.tar uni-projects-b9d200d296d362b2f3191ac8f2164a0bbc79b2a6.tar.gz uni-projects-b9d200d296d362b2f3191ac8f2164a0bbc79b2a6.zip | ||
| Parent | 270c189a94733693a9cbccfffebf7d31a8643dfd (diff) | |
[LP] Solved some example exercises
1 files changed, 31 insertions, 0 deletions
| -rw-r--r-- | Year 3/Logical Programming/test.pdb | 31 |
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). |
