Найти первый отличный от NIL атом в произвольном списке - Lisp
Формулировка задачи:
Помогите найти первый отличный от NIL атом в произвольном списке (общей рекурсией)
((() A) B C) –> A
Сделал без рекурсии, а вот с рекурсией все не получается никак
Решение задачи: «Найти первый отличный от NIL атом в произвольном списке»
textual
Листинг программы
(defun first-atom (lst) (cond ((null lst) nil) ((atom (car lst)) (if (car lst) (car lst) (first-atom (cdr lst)))) (t (let ((a1 (first-atom (car lst))) (a2 (first-atom (cdr lst)))) (if a1 a1 a2))))) ==> FIRST-ATOM (first-atom '((a b) c)) ==> A (first-atom '((nil a b) c)) ==> A (first-atom '((nil) c)) ==> C
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д