Advertisement
Latkoski

Најмалку Два со подлисти

Aug 18th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.93 KB | None | 0 0
  1. (defun najmalkuDva (lista)
  2.     (pomosna lista 0 lista)
  3.     )
  4.  
  5. (defun pomosna (lista brojac pomosna_lista)
  6.     (cond
  7.         ((null lista) nil)
  8.         ((and (null pomosna_lista)(>= brojac 2))(cons (car lista)(pomosna (remove (car lista)(flatten (cdr lista))) 0  (cdr lista))))
  9.         ((and (null pomosna_lista)(< brojac 2))(pomosna (remove (car lista)(flatten (cdr lista))) 0 (cdr lista)))
  10.         ((eq (car lista)(car pomosna_lista))(pomosna (flatten lista) (+ 1 brojac)(flatten (cdr pomosna_lista))))
  11.         ((not(eq (car lista)(car pomosna_lista)))(pomosna (flatten lista) brojac (flatten (cdr pomosna_lista))))
  12.         )
  13.     )
  14.    
  15.    
  16.    
  17. (defun flatten (lista)
  18.     (cond
  19.         ((null lista) nil)
  20.         ((listp (car lista))(append (flatten (car lista))(flatten (cdr lista))))
  21.         (t(append (list (car lista))(flatten (cdr lista))))
  22.         )
  23.     )
  24. (print (najmalkuDva '(2 (6 8) (1 1 2 (2 4) 6) ((1) 2)))) -> 2 6 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement