Определить, сколько его элементов отличны от последнего - Lisp

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

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

1. Дан список. Определить, сколько его элементов отличны от последнего.

Решение задачи: «Определить, сколько его элементов отличны от последнего»

textual
Листинг программы
  1. (defun task (lst)
  2.   (let ((last (car (last lst))))
  3.     (length (remove-if (lambda (x) (= x last)) (butlast lst)))))
  4.  
  5. ==> task
  6.  
  7. (task '(1 2 3 1 2 3 2))
  8.  
  9. ==> 4

Объяснение кода листинга программы

В коде определена функция task, которая принимает в качестве аргумента список lst. Внутри функции создается переменная last, которая содержит последний элемент списка lst. Далее, с помощью функции remove-if и лямбда-функции, из списка lst удаляются все элементы, равные последнему элементу last. Затем, с помощью функции length определяется количество оставшихся элементов в списке. Наконец, результат вычислений возвращается из функции. При вызове функции task с аргументом '(1 2 3 1 2 3 2)' будет возвращено число 4, так как после удаления повторяющихся элементов в списке останется 4 элемента.

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


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

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

15   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы