Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- woman('Маша').
- woman('Даша').
- woman('Наташа').
- woman('Юля').
- woman('Лена').
- woman('Алина').
- woman('Рита').
- woman('Лиза').
- man('Коля').
- man('Петя').
- man('Вася').
- man('Миша').
- man('Леша').
- man('Юра').
- man('Володя').
- man('Саша').
- man('Толя').
- parents('Маша', 'Наташа', 'Петя').
- parents('Даша', 'Наташа', 'Петя').
- parents('Коля', 'Наташа', 'Петя').
- parents('Миша', 'Наташа', 'Петя').
- parents('Миша', 'Наташа', 'Петя').
- parents('Алина', 'Лена', 'Леша').
- parents('Юра', 'Лена', 'Леша').
- parents('Наташа', 'Рита', 'Володя').
- parents('Толя', 'Рита', 'Володя').
- parents('Петя', 'Лиза', 'Саша').
- sisters(X, Y) :- woman(X), woman(Y), parents(X, P1, P2), parents(Y, P1, P2), X \= Y.
- brothers(X, Y) :- man(X), man(Y), parents(X, P1, P2), parents(Y, P1, P2), X \= Y.
- sisbro(X, Y) :- parents(X, P1, P2), parents(Y, P1, P2), X \= Y.
- grandpa(X, Y) :- man(Y), parents(X, P1, P2), ( parents(P1, _, Y);parents(P2, _, Y)).
- uncle(X, Y) :- man(Y), parents(X, P1, P2), ( sisbro(P1, Y);sisbro(P2, Y)).
- haschilds(X, Y, Z) :- parents(Z, X, Y).
- suprugi(X, Y) :- woman(X), man(Y), parents(_, X, Y).
- onCircle(X1,Y1,X2,Y2,R) :- (R ** 2) >= ((X1-X2) ** 2 + (Y1 - Y2) ** 2).
- max(X, Y, X):- X>=Y, !.
- max(_, Y, Y).
- max3(X, Y, Z, X):- max(X, Y, X), max(X, Z, X), !.
- max3(_, Y, Z, Y) :- max(Y, Z, Y), !.
- max3(_, _, Z, Z).
- max4(X, Y, Z, F, X) :- max3(X, Y, Z, X), max(X, F, X), !.
- max4(_, Y, Z, F, Y) :- max3(Y, Z, F, Y), !.
- max4(_, _, Z, F, Z) :- max(Z, F, Z), !.
- max4(_, _, _, F, F).
- fib(0,1) :- !.
- fib(1,1) :- !.
- fib(N,R) :- N>1, (N1 is (N-1)), fib(N1,F1), (N2 is (N-2)), fib(N2,F2), (R is (F1 + F2)).
- abs(P,R) :- P > 0, !, R is P; R is -P.
- tria(A,B,C) :- C is sqrt(A**2 + B**2).
- pow(N, P, R) :- R is N ** P.
- sumN(1,1).
- sumN(N,A) :- N > 0, A1 is N-1, sumN(A1, A2), A is A2 + N.
- sumNodd(1, 1).
- sumNodd(N, A) :-
- N > 0, N mod 2 =:= 1, A1 is N - 1,
- sumNodd(A1, A2), A is A2 + N, !.
- sumNodd(N, A) :-
- N1 is N - 1, sumNodd(N1, A).
- nod(M,N,N):-M mod N =:=0,!.
- nod(M,N,R):-O is M mod N, nod(N,O,R).
- nok(M,N,R):-nod(M, N, X), R is (M*N)/X.
- myRepeatUntil(N, R) :- N > 1, !, N1 is N - 1, myRepeatUntil(N1, R1), R is R1 * N.
- myRepeatUntil(1, 1) :- !.
- myFor(I, N, R):- I < N, !, I1 is I + 1, myFor(I1, N, R1), R is I + R1.
- myFor(N, N, 0).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement