LISP задача, нечетные элементы, замена, минимальное значение - Lisp

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

Здравствуйте, помогите с решением задачи, пожалуйста. Есть список нужно заменить все нечетные элементы списка на значение минимального элемента. Пробовал составить свое решение, но не хватает знаний.
(defun zam(list)
  (defun mi(list)
               (setq rez (car list))
    (dolist (el list rez)
        (if (> (car list) el)
            (setq rez el))))
(dolist (el list)
               (if (oddp el)
                   (setq el rez))))

Код к задаче: «LISP задача, нечетные элементы, замена, минимальное значение - Lisp»

textual
(defun odd-min (w)
  (substitute-if (reduce #'min w) #'oddp w))
 
> (odd-min '(1 2 3 4 -1 5 6 7 8))
(-1 2 -1 4 -1 -1 6 -1 8)

6   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ