Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- gen(0).
- gen(X) :- gen(X,1).
- gen(X,X).
- gen(X,Y) :- X is (-1)*Y.
- gen(X,Y) :- Z is Y + 1, gen( X, Z ).
- sum( X, Y, Z ) :-
- \+ var(X),
- \+ var(Y),
- Z is X + Y,!.
- sum( X, Y, Z ) :-
- \+ var(X),
- \+ var(Z),
- Y is Z - X,!.
- sum( X, Y, Z ) :-
- \+ var(Y),
- \+ var(Z),
- X is Z - Y,!.
- sum( X, Y, Z ) :-
- var(X),
- var(Y),
- \+var(Z),
- gen(X),
- Y is Z - X.
- sum( X, Y, Z ) :-
- \+var(X),
- var(Y),
- var(Z),
- gen(Y),
- Z is X + Y.
- sum( X, Y, Z ) :-
- var(X),
- \+var(Y),
- var(Z),
- sum(Y, X, Z).
- mniejsza_suma_arytm(X,Y) :- mniejsza_suma_arytm(X,Y,0).
- mniejsza_suma_arytm(X,0,L) :-
- A is X-L,
- A<0,!.
- mniejsza_suma_arytm(X,Y,L) :-
- A is X-L,
- K is L+1,
- mniejsza_suma_arytm(A, B, K ),
- Y is B+L.
- wieksza_suma_arytm(X,Y) :- wieksza_suma_arytm(X,Y,0).
- wieksza_suma_arytm(X,L,L) :-
- A is X-L,
- A<0,!.
- wieksza_suma_arytm(X,Y,L) :-
- A is X-L,
- K is L+1,
- wieksza_suma_arytm(A, B, K ),
- Y is B+L.
- bijekcja( X, Y ) :- bijekcja(0, X, Y).
- bijekcja( N, X, Y ):-
- mniejsza_suma_arytm( N, M ),
- wieksza_suma_arytm( N, W),
- X is N-M,
- Y is W-N-1.
- bijekcja( N, X, Y ) :-
- M is N+1,
- bijekcja( M, X, Y).
- sum(X, Y, Z) :-
- var(X),
- var(Y),
- var(Z),
- bijekcja(X,Y),
- Z is X + Y.
Add Comment
Please, Sign In to add comment