Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sortuj(L,W) :- pom( L,[],W ).
- pom( [],A,A ) .
- pom( [H|T],A,S ) :- babelek(H,T,NT,Max), pom( NT,[Max|A],S ) .
- babelek( X,[],[],X ) .
- babelek( X,[Y|T],[Y|NT],Max ) :- X>Y, babelek(X,T,NT,Max) .
- babelek( X,[Y|T],[X|NT],Max ) :- X=<Y, babelek(Y,T,NT,Max) .
- gray_bin( [H|T],[H|NT] ) :- zamien(T,H,NT) .
- zamien( [],_,[] ) .
- zamien( [GH|GT],Poprz,[WH|WT] ) :- xor(Poprz,GH,WH), zamien(GT,WH,WT) .
- bin_gray(B,G) :- przesun_prawo(B,W), ksoruj(B,W,G) .
- ksoruj( [],[],[] ) .
- ksoruj( [H1|T1],[H2|T2],[WH|WT] ) :- xor(H1,H2,WH), ksoruj(T1,T2,WT) .
- przesun_prawo( L,W ) :- append( [0],L,Q ), tnij(Q,W) .
- append( [],X,X ).
- append( [H|T],Y,[H|NT] ) :- append(T,Y,NT) .
- tnij( [H],[]) .
- tnij( [H|T],[H|NT] ) :- tnij(T,NT) .
- xor(0,0,0) .
- xor(1,1,0) .
- xor(0,1,1) .
- xor(1,0,1) .
- % właściwy predykat
- eratostenes(L,W) :- zapelnij(2,L,S), sprawdz(S,W) .
- % generowanie liczb całkowitych od 2 do N włącznie
- zapelnij( D,G,[D|T] ) :- D=<G, !, M is D+1, zapelnij(M,G,T) .
- zapelnij( _,_,[] ) .
- % sprawdzanie kolejnych liczb
- sprawdz( [],[] ) .
- sprawdz( [H|T],[H|NT] ) :- odsiej(H,T,A), sprawdz(A,NT) .
- % usuwanie wielokrotności danej liczby
- odsiej( _,[],[] ) .
- odsiej( P,[H|T],[H|NT] ) :- \+ 0 is H mod P, odsiej(P,T,NT) .
- odsiej( P,[H|T],NT ) :- 0 is H mod P, odsiej(P,T,NT) .
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement