Sie sind auf Seite 1von 1

fibonacci:

---------fib(0, 0).
fib(1, 1).
fib(N, F) :- X is N - 1, Y is N - 2, fib(X, A), fib(Y, B), F is A + B.
fib_sequence(A,B,R) :- fib(A,Y) , fib(B,Z).
factorial:
--------fact(X,Y):-X is 0,Y is 1;
X>0,N is X-1, fact(N,G),Y is X*G.
evenlen & oddlen:
----------------evenlen([]).
evenlen([H|T]):-oddlen(T).
oddlen([]).
oddlen([H|T]):-evenlen(T).
gcd
--gcd(X,Y):-X=Y,write('GCD of two numbers is '),write(X);
X=0,write('GCD of two numbers is '),write(Y);
Y=0,write('GCD of two numbers is '),write(X);
Y>X,Y1 is Y-X,gcd(X,Y1);
X>Y,Y1 is X-Y,gcd(Y1,Y).
bubble
-----bubble_sort(List,Sorted):-b_sort(List,[],Sorted).
b_sort([],Acc,Acc).
b_sort([H|T],Acc,Sorted):-bubble(H,T,NT,Max),b_sort(NT,[Max|Acc],Sorted).
bubble(X,[],[],X).
bubble(X,[Y|T],[Y|NT],Max):-X>Y,bubble(X,T,NT,Max).
bubble(X,[Y|T],[X|NT],Max):-X=<Y,bubble(Y,T,NT,Max).
insertion
---------insert_sort(List,Sorted):-i_sort(List,[],Sorted).
i_sort([],Acc,Acc).
i_sort([H|T],Acc,Sorted):-insert(H,Acc,NAcc),i_sort(T,NAcc,Sorted).
insert(X,[Y|T],[Y|NT]):-X>Y,insert(X,T,NT).
insert(X,[Y|T],[X,Y|T]):-X=<Y.
insert(X,[],[X]).
delete first3 n last 3:
----------------------conc([],L,L).
conc([X|L1],L2,[X|L3]) :- conc(L1,L2,L3).
del(L,L1,L2):-conc([_,_,_],L1,L),conc(L2,[_,_,_],L1).

Das könnte Ihnen auch gefallen