Удаление из списка четных атомов (с учетом подсписков) - Lisp

Узнай цену своей работы

Формулировка задачи:

Опишите функцию, удаляющую из списка четные атомы (с учетом подсписков). К примеру из (1 (2 3 4) 5 (6) (7 (8 (9 10)) 11) 12) должен получиться список (1 (3) 5 () (7 ((9)) 11))

Решение задачи: «Удаление из списка четных атомов (с учетом подсписков)»

textual
Листинг программы
(defun task (lst)
  (cond ((null lst) nil)
        ((listp (car lst)) (cons (task (car lst)) (task (cdr lst))))
        ((evenp (car lst)) (task (cdr lst)))
        (t (cons (car lst) (task (cdr lst))))))
         
==> TASK
 
(task ' (1 (2 3 4) 5 (6) (7 (8 (9 10)) 11) 12))
 
==> (1 (3) 5 NIL (7 ((9)) 11))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы