Сложить все нечетные элементы списка - Lisp
Формулировка задачи:
Добрый день.
Помогите пожалуйста решить задачу, т.к. я в Лиспе полный ноль, а предмет нужно сдать в кратчайшее время.
Задача, я так предполагаю, достаточно простая: необходимо сложить все нечетные элементы списка.
Заранее очень Вам признателен за возможные ответы!
Решение задачи: «Сложить все нечетные элементы списка»
textual
Листинг программы
(defun sum-odd (a-list) (apply #'+ (remove-if-not #'oddp a-list)))
Объяснение кода листинга программы
В данном коде:
- Создаётся функция
sum-odd
, которая принимает один аргументa-list
. - Функция
apply
вызывается с оператором сложения#'+
и спискомa-list
в качестве аргументов. - Функция
remove-if-not
вызывается с предикатомoddp
и спискомa-list
в качестве аргументов. - Результат функции
remove-if-not
передаётся в функциюapply
для сложения всех нечётных элементов списка. - Результат функции
apply
возвращается в качестве значения функцииsum-odd
. Список нечётных элементов будет получен без использования цикла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д