Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defun checkParnost (n) ;; vrakja T dokolku na parnite pozicii vo brojot ima parni cifri floor koristime za da dobieme
- (cond ;; cel, broj ne decimalen
- ((< n 1) t)
- ((evenp (floor (/ (mod n 100) 10))) (checkParnost (floor (/ n 100))))
- (t nil)
- )
- )
- (defun brojCifri (n) ;; vrakja broj na cifri vo eden broj
- (cond
- ((eq n 0) 0)
- (t (+ 1 (brojCifri (floor (/ n 10)))))
- )
- )
- (defun parniCount (L n posList) ;ako brojot na cifri e eden znaci deka taa cifra se naogja na prva pozicija -> NIL
- (cond
- ((null L) posList)
- ((eq (brojCifri (car L)) 1) (parniCount (cdr L) (+ n 1) posList))
- ((and (> (brojCifri (car L)) 1) (eq (checkParnost (car L)) 'T)) (parniCount (cdr L) (+ n 1) (append (list (+ n 1)) posList)))
- (t (parniCount (cdr L) (+ n 1) posList))
- )
- )
- (defun parni (L)
- (reverse (parniCount L 0 '()))
- )
- (print (parni '(4232)))
- (print (parni '(4322)))
- (print (parni '(21 12 33 422 13 4215)))
- (print (parni '(2)))
- (print (parni '(2 12 4211 33 54 13 571)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement