Рекурсивная функция от одного числового аргумента N, считающая произведение чётных натуральных чисел от 2 до N - Lisp

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

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

Написать рекурсивную функцию от одного числового аргумента N, считавшую произведение чётных натуральных чисел от 2 до N... Не совсем разобрался ... как факториал вычислить функция вроде и есть, но как переделать таким образом чтобы брали только чётные числа?
Листинг программы
  1. (Defun f (n)
  2. (cond ((= n 0) 1) (t (* n (f (- n 1))))))

Решение задачи: «Рекурсивная функция от одного числового аргумента N, считающая произведение чётных натуральных чисел от 2 до N»

textual
Листинг программы
  1. (define (!!-even n)
  2.   (define (factorial n acc)
  3.     (if (= n 1)
  4.         acc
  5.         (factorial (sub1 n) (* n acc))))
  6.   (let ((n (if (even? n) n (sub1 n))))
  7.     (* (expt 2 (/ n 2)) (factorial (/ n 2) 1))))
  8.  
  9. (map !!-even '(5 6 7 12))
  10. ;'(8 48 48 46080)

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


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

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

8   голосов , оценка 4.5 из 5

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

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

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