Advertisement
Latkoski

Пресметај, парен број појавувања, деллив со 3

Aug 18th, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 1.13 KB | None | 0 0
  1. (defun presmetaj (lista elem)
  2.  (presmetaj1 lista elem 0 lista)
  3. )
  4.  
  5.  
  6. (defun presmetaj1 (lista elem brojac pomosna_lista)
  7.  (cond
  8.   ((and (null pomosna_lista)(eq (mod brojac 2) 0))(pomosna1 lista lista 0))
  9.   ((and (null pomosna_lista)(eq (mod brojac 2) 1))(pomosna2 lista))
  10.   ((eq (car pomosna_lista) elem)(presmetaj1 lista elem (+ 1 brojac)(cdr pomosna_lista)))
  11.   ((not (eq (car pomosna_lista) elem))(presmetaj1 lista elem brojac (cdr pomosna_lista)))
  12.  )
  13. )
  14.  
  15. (defun pomosna1 (lista pomosna_lista brojac)
  16.  (cond
  17.   ((null lista) nil)
  18.   ((and (null pomosna_lista)(eq (mod brojac 2) 0))(cons (car lista)(pomosna1 (cdr lista) lista 0)))
  19.   ((and (null pomosna_lista)(not(eq (mod brojac 2) 0)))(pomosna1 (cdr lista) lista 0))
  20.   ((eq (car lista)(car pomosna_lista))(pomosna1 lista (cdr pomosna_lista)(+ 1 brojac)))
  21.   ((not(eq (car lista)(car pomosna_lista)))(pomosna1 lista (cdr pomosna_lista) brojac))
  22.     ))
  23.  
  24.  
  25. (defun pomosna2 (lista)
  26.  (cond
  27.   ((null lista) nil)
  28.   ((eq (mod (car lista) 3) 0)(cons (car lista)(pomosna2 (cdr lista))))
  29.   ((not (eq (mod (car lista) 3) 0))(pomosna2 (cdr lista)))
  30.  )
  31. )
  32.  
  33. (print (presmetaj '(1 2 3 6 3 1 4 9) 1))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement