Advertisement
Latkoski

parni - juni 2014 - grupa 1

Jan 7th, 2017
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 1.39 KB | None | 0 0
  1.  Дефинирај функција parni која прима еден аргумент – листа L чии елементи се цели
  2. броеви со произволен број на цифри, и враќа листа со редните позиции на елементите во L кои
  3. имаат само парни цифри на парните позиции. При тоа првиот елемент во листата е на редна
  4. позиција 1, и најмалку значајната цифра во даден број е на позиција 1.
  5.  Пример: (parni '(21 12 33 422 13 4215))(1 4)
  6.  (parni '(2 12 4211 33 54 13 571))NIL
  7.  
  8. (defun proverka (broj pozicija brojce)
  9.     (cond
  10.         ((and (= 0 broj)(> brojce 0)) t)
  11.         ((and (= 0 broj)(= 0 brojce)) nil)
  12.         ((and (evenp pozicija)(evenp (mod broj 10)))(proverka (floor(/ broj 10))(+ 1 pozicija)(+ 1 brojce)))
  13.         ((oddp pozicija)(proverka (floor(/ broj 10))(+ 1 pozicija) brojce))
  14.         ((and (evenp pozicija)(oddp (mod broj 10))) nil)
  15.         )
  16.     )
  17.  
  18.  
  19. (defun pom (lista brojac)
  20.     (cond
  21.         ((null lista) nil)
  22.         ((equal (proverka (car lista) 1 0) t)(cons brojac (pom (cdr lista) (+ 1 brojac))))
  23.         (t (pom (cdr lista)(+ 1 brojac)))      
  24.         )
  25.     )
  26.  
  27. (defun parni (lista)
  28.     (pom lista 1)
  29.     )
  30.  
  31. (print (parni '(2 12 4211 33 54 13 571)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement