Функция, которая суммирует чётные числа - Lisp

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

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

Написать функцию которая суммирует парные чётные числа

Решение задачи: «Функция, которая суммирует чётные числа»

textual
Листинг программы
(defn task (l)
    (foldl (lambda (n a) (+ (cond (= 0 (mod n 2)) n 0) a)) 0 l))

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

В данном коде написана функция с именем task, которая принимает в качестве аргумента список чисел l. Внутри функции используется операция foldl, которая позволяет применить указанную функцию (в данном случае это lambda-функция с именем n) к каждому элементу списка l. В этой lambda-функции происходит проверка на чётность числа n с помощью оператора mod, который возвращает остаток от деления. Если число n чётное, то оно добавляется к аккумулятору (переменной a). Если число n нечётное, то оно пропускается. В конце операции foldl аккумулятор (переменная a) содержит сумму всех чётных чисел из списка l. Функция возвращает значение аккумулятора.

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


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

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

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