Определить рекурсивную функцию, возвращающую последний элемент списка - Lisp

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

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

Определить рекурсивную функцию, возвращающую последний элемент списка. вот что сделано
(defun last (xs)
  (if (null (cdr xs))
      xs
      (last (cdr xs))))
Но тут получается что последний элемент выводится ввиде списка, а нужно чтоб просто выводился элемент, помогите исправить, заранее спасибо!

Решение задачи: «Определить рекурсивную функцию, возвращающую последний элемент списка»

textual
Листинг программы
(defun last! (lst)
 (reduce (lambda (a x) x) lst))

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


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

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

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