Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %1
- diff([],[]).
- diff([_],[]).
- even(X) :-Y is mod(X,2), Y =:= 0.
- diff([A,B|Tail],[Diff|DiffTail]) :- even(B), even(A), Diff is B-A, diff(Tail,DiffTail).
- diff([_,_|Tail],DiffTail):- diff(Tail,DiffTail).
- %3
- diff([],[], []).
- diff(_,[], []).
- diff([],_, []).
- diff([A|TailA], [B|TailB], [Сomposition|СompositionTail]):-
- Сomposition is A-B, diff(TailA, TailB, СompositionTail).
- len([], 0).
- len([_|T], L) :- len(T, Y), L is Y + 1.
- diff_len([], [], 0).
- diff_len(A, B, X) :- diff(A, B, Diff), len(Diff, X).
- %4
- diff([],[], []).
- diff(_,[], []).
- diff([],_, []).
- diff([A|TailA], [B|TailB], [Сomposition|СompositionTail]):-
- Сomposition is A-B, diff(TailA, TailB, СompositionTail).
- min([], R, R).
- min([X|Xs], WK, R):- X < WK, min(Xs, X, R).
- min([X|Xs], WK, R):- X >= WK, min(Xs, WK, R).
- min([X|Xs], R):- min(Xs, X, R).
- diff_min([], [], []).
- diff_min(A, B, X) :- diff(A, B, Diff), min(Diff, X).
- %5
- composition([],[], []).
- composition([_],[], []).
- composition([],[_], []).
- composition([A|TailA], [B|TailB], [Сomposition|СompositionTail]):-
- Сomposition is A*B, composition(TailA, TailB, СompositionTail).
- %6
- composition([],[], []).
- composition([_],[], []).
- composition([],[_], []).
- composition([A|TailA], [B|TailB], [Сomposition|СompositionTail]):-
- Сomposition is A*B, composition(TailA, TailB, СompositionTail).
- max([], R, R).
- max([X|Xs], WK, R):- X > WK, max(Xs, X, R).
- max([X|Xs], WK, R):- X =< WK, max(Xs, WK, R).
- max([X|Xs], R):- max(Xs, X, R).
- del([],_,[]).
- del([X|T],X,T):- !.
- del([Y|T],X,[Y|R]):- X=\=Y, del(T,X,R).
- vsort([],[]).
- vsort(X,[A|T]) :- max(X,A), del(X,A,XX), vsort(XX,T).
- sort_composition(A, B, X) :- composition(A, B, C), vsort(C, X).
- %7
- diff([],[], []).
- diff(_,[], []).
- diff([],_, []).
- diff([A|TailA], [B|TailB], [Сomposition|СompositionTail]):-
- Сomposition is A-B, diff(TailA, TailB, СompositionTail).
- min([], R, R).
- min([X|Xs], WK, R):- X < WK, min(Xs, X, R).
- min([X|Xs], WK, R):- X >= WK, min(Xs, WK, R).
- min([X|Xs], R):- min(Xs, X, R).
- del([],_,[]).
- del([X|T],X,T):- !.
- del([Y|T],X,[Y|R]):- X=\=Y, del(T,X,R).
- vsort([],[]).
- vsort(X,[A|T]) :- min(X,A), del(X,A,XX), vsort(XX,T).
- sort_diff(A, B, X) :- diff(A, B, C), vsort(C, X).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement