Advertisement
Guest User

najtrudniejsze zadanie jakie zrobilem

a guest
Jun 7th, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 0.97 KB | None | 0 0
  1. powt([], _, []):-!.
  2. powt([H|T], L, C) :- not(member(H, L)),!, powt(T, L, C).
  3. powt([H|T], L, [H|C]) :- member(H, L),!, powt(T, L, C).
  4.  
  5. del(X,[X|Tail],Tail):-!.
  6. del(X,[H|Tail],[H|Tail1]):- !, del(X,Tail,Tail1).
  7.  
  8. usunLzL([], X, X):-!.
  9. usunLzL([H|T], L, X) :- member(H, L),!, del(H, L, Y), usunLzL(T, Y, X).
  10. usunLzL([H|T], L, X) :- not(member(H, L)),!, usunLzL(T, L, X).
  11.  
  12. porZreszta(X, [], X) :- !.
  13. porZreszta(X, [H|T], L2) :- !,powt(X, H, Y),  porZreszta(X, T, L), usunLzL(Y, L, L2).
  14.  
  15. klucz(X, Pelna, K) :- del(X, Pelna, Y), porZreszta(X, Y, Z), length(Z, K).
  16.  
  17. koduj([], _, []).
  18. koduj([H|T], P, [K-H|T2]) :- klucz(H, P, K), koduj(T, P, T2).
  19.  
  20. dekoduj([], []).
  21. dekoduj([_-H|T], [H|T2]) :- dekoduj(T, T2).
  22.  
  23. wstaw(X,[],[X]):-!.
  24. wstaw(K-X,[K2-H|T], [K-X|[K2-H|T]]) :- K<K2,!.
  25. wstaw(K-X,[K2-H|T], [K2-H|T2]) :- wstaw(K-X, T, T2).
  26.  
  27. wstawSort([], []):-!.
  28. wstawSort([H|T], X) :- wstawSort(T, Y), wstaw(H, Y, X).
  29.  
  30. zadanie(X, Y) :- koduj(X, X, Z), wstawSort(Z, A), dekoduj(A, Y).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement