Определить функцию MAKE-EVEN - Lisp

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

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

Определить функцию MAKE-EVEN, которая имеет один аргумент - список числовых значений. Функция MAKE-EVEN превращает четные числа списка в нечетные, добавляя к ним единицу. Если число уже нечетное, то оно остается без изменений.

Решение задачи: «Определить функцию MAKE-EVEN»

textual
Листинг программы
  1. ((lambda (x f)
  2.    (cond ((null x) nil)
  3.          ((evenp (car x)) (cons (+ 1 (car x)) (funcall f (cdr x) f)))
  4.          (t (cons (car x) (funcall f (cdr x) f)))))
  5.   '(1 2 3 4 5 6 7 8 9 10)
  6. (lambda (x f)
  7.    (cond ((null x) nil)
  8.          ((evenp (car x)) (cons (+ 1 (car x)) (funcall f (cdr x) f)))
  9.          (t (cons (car x) (funcall f (cdr x) f))))))
  10.  
  11. ==> (1 3 3 5 5 7 7 9 9 11)

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


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

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

14   голосов , оценка 3.929 из 5

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

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

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