Инкрементировать список - Lisp

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

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

Добрый день, очень нужна помощь. Зарание благодарю. Имеется список чисел, определить функционал, возвращающий список инкрементированных чисел (добавляем 1 к каждому числу списка). Например, _(inc_list ’(2 4 6 8 1)) (3 5 7 9 2)

Решение задачи: «Инкрементировать список»

textual
Листинг программы
(defun add1 (lst)
  (mapcar #'(lambda (x) (+ x 1)) lst))
ADD1
[12]> (add1 '(2 4 6 8 1))
(3 5 7 9 2)

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

В коде определена функция ADD1, которая принимает один аргумент lst, являющийся списком. Внутри функции используется операция MAPCAR, которая применяет к каждому элементу списка lst анонимную функцию #'(lambda (x) (+ x 1)). Анонимная функция принимает один аргумент x и возвращает его увеличенным на 1. Таким образом, каждый элемент списка lst увеличивается на 1. В результате выполнения функции ADD1, список lst преобразуется в (3 5 7 9 2), где каждый элемент увеличен на 1.

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


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

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

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