Advertisement
Guest User

Untitled

a guest
Jan 2nd, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 1.01 KB | None | 0 0
  1. (defparameter *maxx* -100 )
  2.  
  3. (defun verif (l level)
  4.     ;(format t "Lista momentan: ~a ~%" l )
  5.     (cond
  6.         ((null (car l)) nil)
  7.         ((and (numberp (car l)) (= (mod level 2) 1) (> (car l) *maxx*))
  8.         (progn
  9.         (setf *maxx* (car l))
  10.         (verif (cdr l) level)
  11.         ))
  12.         ((listp (car l))
  13.         (progn
  14.         (verif (car l) (+ 1 level))
  15.         (verif (cdr l) level)
  16.         ))
  17.         (t(verif (cdr l) level))
  18.      )
  19. )
  20.  
  21. ;(verif '(1 2 (100) 3 (5 (99) 9)) 1)
  22. ;(format t "Maximul: ~d ~%" *maxx* )
  23.  
  24. (defun verif_final (l)
  25.     (defparameter *maxx* -100 )
  26.     (verif l 1)
  27.     (cond
  28.         ((= (mod *maxx* 2) 0) 't)
  29.         (t nil)
  30.      )
  31. )
  32. (format t "~a" (verif_final '(8 (99))))
  33.  
  34. (defun numarare (l)
  35.     ;(format t "Lista momentan: ~a ~%" l )
  36.     (cond
  37.         ((atom l) 0)
  38.         ((verif_final l) (+ 1 (apply '+ (mapcar 'numarare l))))
  39.         (t (apply '+ (mapcar 'numarare l)))
  40.    )
  41. )
  42.    
  43.    
  44. (format t "Nr: ~d ~%" (numarare '(1 2 (100) 3 (8 (99)) 9)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement