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

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

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

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

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

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

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


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

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

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