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

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

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

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

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

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

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

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

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