Код:
(defun countOnLevel (x a)
(_1_countOnLevel x 0 a))
(defun _1_countOnLevel (x i a)
(if (atom x) (if (eq i a) 1 0)
(+ (if (eq i a) 1 0) (_1_countOnLevel (car x) (+ 1 i) a) (_2_countOnLevel (cdr x) i a))))
(defun _2_countOnLevel (x i a)
(if (null x) 0 (+ (_1_countOnLevel (car x) (+ 1 i) a) (_2_countOnLevel (cdr x) i a)) ))
(countonlevel '(5 (5 1) 5 ((1))) 1) -> 4
(countonlevel '(5 (5 1) 5 ((1))) 2) -> 3
(countonlevel '(5 (5 1) 5 ((1))) 3) -> 1
(countonlevel '(5 (5 1) 5 ((1))) 4) -> 0