Advertisement
gjorgjikirkov

transformiraj-neparen

May 12th, 2016
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.83 KB | None | 0 0
  1. (defun transformiraj-neparen (L)
  2.     (clear_duplicates (transform_tmp L L '()))
  3.    
  4. )
  5.  
  6. (defun transform_tmp (L1 L2 returnL)
  7.     (cond
  8.         ((null L1) returnL)
  9.         ((oddp (broj_na_pojavuvanja L2 (car L1) 0)) (append returnL (list (car L1)) (transform_tmp (cdr L1) L2 returnL)))
  10.         (t (transform_tmp (cdr L1) L2 returnL))
  11.        
  12.     )
  13. )
  14.  
  15. (defun clear_duplicates (L)
  16.     (cond
  17.         ((null L) nil)
  18.         ((member (car L) (cdr L)) (clear_duplicates (cdr L)))
  19.         (t (cons (car L) (clear_duplicates (cdr L))))
  20.     )    
  21. )
  22.  
  23. (defun broj_na_pojavuvanja (L elem brojac)
  24.     (cond
  25.         ((null L) brojac)
  26.         ((eq (car L) elem) (broj_na_pojavuvanja (cdr L) elem (+ 1 brojac)))
  27.         (t (broj_na_pojavuvanja (cdr L) elem brojac))
  28.     )    
  29. )
  30.  
  31.  
  32.  
  33. (print (transformiraj-neparen '(1 5 3 5 4 1 5 8 3 1 4))) ;; --> (1 5 8)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement