Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Дефинирај функција presmetaj која прима еден аргумент: листа L. Ако листата има
- парен број на елементи тогаш враќа листа од сите парни броеви во L, а во спротивно враќа листа
- од броеви коишто се појавиле само еднаш (не се повториле) во L.
- (defun presmetaj (lista)
- (cond
- ((eq (daliParna lista 0) t)(vratiParni lista))
- ((eq (daliParna lista 0) nil)(edinecni lista 0 lista))
- )
- )
- (defun daliParna (lista brojac)
- (cond
- ((and (null lista)(eq (mod brojac 2) 0)) t)
- ((and (null lista)(eq (mod brojac 2) 1)) nil)
- (t (daliParna (cdr lista)(+ 1 brojac)))
- ))
- (defun vratiParni (lista)
- (cond
- ((null lista) nil)
- ((evenp(car lista))(cons (car lista)(vratiParni (cdr lista))))
- ((oddp (car lista))(vratiParni (cdr lista)))
- )
- )
- (defun edinecni (lista brojac pomlista)
- (cond
- ((null lista) nil)
- ((and (null pomlista)(eq brojac 1))(cons (car lista)(edinecni (cdr lista) 0 lista)))
- ((and (null pomlista)(> brojac 1))(edinecni (remove (car lista)(cdr lista)) 0 lista))
- ((eq (car lista)(car pomlista))(edinecni lista (+ 1 brojac)(cdr pomlista)))
- (t(edinecni lista brojac (cdr pomlista)))
- ))
- (print (presmetaj '(2 4 5 7 9 11 2 2)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement