123456789101112131415161718192021222324252627282930 |
- find([X|_], X).
- find([_|L], X) :- find(L,X).
- concatenate([X|L1], L2, [X|L3]) :- concatenate(L1,L2,L3).
- concatenate([],L,L).
- pow(_,0,1).
- pow(X,1,X) :- !.
- pow(X,N,R) :- N1 is N-1, pow(X,N1,R1), R is X*R1.
- powb(_,0,1) :- !.
- powb(X,1,X) :- !.
- powb(X,N,R) :- N1 is N-1, powb(X,N1,R1), R is R1*X.
- part([X|L],Y,[X|L1],L2) :- X =< Y, !, part(L,Y,L1,L2).
- part([X|L],Y,L1,[X|L2]) :- X > Y, !, part(L,Y,L1,L2).
- part([],_,[],[]).
- quicksort([],[]).
- quicksort([H|T], Sorted) :- part(T,H,L1,L2), !, quicksort(L1,Sorted1), quicksort(L2,Sorted2), append(Sorted1,[H|Sorted2],Sorted).
- map(_,[],[]).
- map(C,[X|Xs],[Y|Ys]) :- call(C,X,Y), !, map(C,Xs,Ys).
- square(N,R) :- R is N*N.
- not(X) :- call(X), !, fail.
- not(_).
|