Очистка списка от повторяющихся атомов - Lisp

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

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

Построить рекурсивную функцию средствами элементарного лиспа, которая принимает список. И возвращает список входящих в него атомов без повторений. Пример:
>(pars '(4 6 3 8 5 3 1 4 8))
==>(4 6 3 8 5 1)

Решение задачи: «Очистка списка от повторяющихся атомов»

textual
Листинг программы
(defun pars (m acc)
  (cond ((null m) (reverse acc))
        ((member (car m) acc) (pars (cdr m) acc))
        (t (pars (cdr m) (cons (car m) acc)))))
 
(defun parss (m)
  (pars m nil))
 
> (parss '(1 3 2 1 2))
(1 3 2)

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


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

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

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