Максимальные элементы во вложенных списках - Lisp

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

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

Нужна функция, которая будет искать и выводить максимум на каждом уровне списка (то есть каждый вложенный список должен как-то обрабатываться). Нагуглил такую функцию, но она ищет максимум на всех уровнях сразу, а не на каждом в отдельности:
(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)))))
Среда: muLISP

Решение задачи: «Максимальные элементы во вложенных списках»

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?

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


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

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

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