Максимальные элементы во вложенных списках - Lisp
Формулировка задачи:
Нужна функция, которая будет искать и выводить максимум на каждом уровне списка (то есть каждый вложенный список должен как-то обрабатываться).
Нагуглил такую функцию, но она ищет максимум на всех уровнях сразу, а не на каждом в отдельности:
Среда: muLISP
(defun F (L) (if L ((lambda (elem result) (cond ((null result) elem) ((> elem result) elem) (T result))) ((lambda (elem) (if (atom elem) elem (F elem))) (car L)) (F (cdr L)))))
Решение задачи: «Максимальные элементы во вложенных списках»
textual
Листинг программы
$(rds common) COMMON $TASK $ Undefined Function Break: (LET ((NL (REMOVE-IF (QUOTE LISTP) LST)) (LL ( REMOVE-IF (QUOTE NUMBERP) LST)) (R NIL)) (DOLIST (I LL R) (SETQ R (APPEND R ( TASK I)))) (IF NL (APPEND (LIST (APPLY (QUOTE MAX) NL)) R) R)) Continue, Break, Abort, Top-level, Restart, System?
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д