Максимальные элементы во вложенных списках - 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?
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д