Получить список сумм чисел двухуровневого списка - Lisp

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

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

3. L1 – список списков списков чисел. Получить список чисел L2, в котором каждый элемент равен сумме элементов соответствующих подсписков. Пример: (f ‘(((1 2))((1 2)(3 4))((5 6))) Результат: (3 10 11)

Решение задачи: «Получить список сумм чисел двухуровневого списка»

textual
Листинг программы
(defun task(lst)
  (mapcar (lambda (x) (apply '+ x)) lst))
 
==> task
(task '((1 2) (3 4) (5 6)))
 
==> (3 7 11)

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

В коде определена функция с именем task. Она принимает один аргумент lst, который должен быть двухуровневым списком. Функция использует оператор mapcar, чтобы применить функцию (x) к каждому элементу списка lst. Функция (x) в свою очередь применяет оператор apply к функции плюс (+) и передает ей каждый элемент списка lst. Результатом работы функции task является список сумм чисел двухуровневого списка lst. Пример использования функции: (task '((1 2) (3 4) (5 6))) Вывод: (3 7 11)

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


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

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

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