Advertisement
Guest User

LOL

a guest
May 31st, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.33 KB | None | 0 0
  1. tobin(0,[]):-!.
  2. tobin(X,W):-mod(X,2)=:=0,!,Z is X/2,tobin(Z,W1),append(W1,[0],W).
  3. tobin(X,W):-mod(X,w)\=0,Z is (X-1)/2,tobin(Z,W1),append(W1,[1],W).
  4.  
  5. listatobin([],[]):-!.
  6. listatobin([H|T],W):-tobin(H,W1),listatobin(T,W2),W=[W1|W2].
  7.  
  8. licznik([],0):-!.
  9. licznik([_],1):-!.
  10. licznik([H|[H1|_]],1):-H\=H1,!.
  11. licznik([H|H],1):-!.
  12. licznik([H|[H|T]],W):-licznik([H|T],W1),W is W1+1.
  13.  
  14. ucinanie(W,0,W):-!.
  15. ucinanie([],_,[]):-!.
  16. ucinanie([_|T],W,W2):-W>0,!,W1 is W-1,ucinanie(T,W1,W3),W2=W3.
  17.  
  18. utnij([],[]):-!.
  19. utnij(X,W):-licznik(X,C),ucinanie(X,C,W1),utnij(W1,W2),W=[C|W2].
  20.  
  21. utnijtab([],[]):-!.
  22. utnijtab([H|T],W):-utnijtab(T,W1),utnij(H,W2),append([W2],W1,W).
  23.  
  24. pow(_,1,1):-!.
  25. pow(X,Y,W):-Y>1,!,Y1 is Y-1,pow(X,Y1,W1),W is W1*X.
  26.  
  27. liczba([],0,0).
  28. liczba([H|T],W,W1):-liczba(T,W2,W3),W is W2+1,pow(10,W,Z),W1 is W3+Z*H.
  29.  
  30. tablica([],[]):-!.
  31. tablica([H|T],W):-liczba(H,_,W1),tablica(T,W2),append([W1],W2,W).
  32.  
  33. babel([X],[X],[Y],[Y]).
  34. babel([H|[H1|T]],W,[H10|[H11|T10]],W2):-H>H1,!,W=[H1|[H|T]],W2=[H11|[H10|T10]].
  35. babel([H|[H1|T]],W,[H10|[H11|T10]],W2):-H1>=H,!,babel([H1|T],W1,[H11|T10],W3),W=[H|W1],W2=[H10|W3].
  36.  
  37. sortbabel(W,W,W1,W1):-babel(W,W,W1,W1),!.
  38. sortbabel(W,W1,W3,W4):-babel(W,L,W3,L3),L\=W,sortbabel(L,W2,L3,W5),W1=W2,W4=W5.
  39.  
  40. lol([],[]):-!.
  41. lol(X,W):-listatobin(X,W1),utnijtab(W1,W2),tablica(W2,W3),sortbabel(W3,_,X,W).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement