Сложить все нечетные элементы списка - Lisp

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

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

Добрый день. Помогите пожалуйста решить задачу, т.к. я в Лиспе полный ноль, а предмет нужно сдать в кратчайшее время. Задача, я так предполагаю, достаточно простая: необходимо сложить все нечетные элементы списка. Заранее очень Вам признателен за возможные ответы!

Решение задачи: «Сложить все нечетные элементы списка»

textual
Листинг программы
(defun sum-odd (a-list)
  (apply #'+ (remove-if-not #'oddp a-list)))

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

В данном коде:

  1. Создаётся функция sum-odd, которая принимает один аргумент a-list.
  2. Функция apply вызывается с оператором сложения #'+ и списком a-list в качестве аргументов.
  3. Функция remove-if-not вызывается с предикатом oddp и списком a-list в качестве аргументов.
  4. Результат функции remove-if-not передаётся в функцию apply для сложения всех нечётных элементов списка.
  5. Результат функции apply возвращается в качестве значения функции sum-odd. Список нечётных элементов будет получен без использования цикла.

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


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

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

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