Определите функцию (f a n) - Lisp

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

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

Используя рекурсию определите функцию (f a n), которая от двух числовых аргументов вычисляет величину. a+a*(a+1)+a*(a+1)*(a+2)+…+a*(a+1)*(a+2)*…*(a+n).

Решение задачи: «Определите функцию (f a n)»

textual
Листинг программы
(defun bx (a n)
 (if (zerop n) a (* a (1+ (bx (1+ a) (1- n))))))
 
> (bx 1 3)
33

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

В данном коде определена функция с именем bx, которая принимает два аргумента типа a и n. Функция работает следующим образом:

  1. Если n равно нулю, то возвращается значение a.
  2. В противном случае, возвращается результат умножения a на (1+ (bx (1+ a) (1- n))). При вызове функции bx со значениями 1 и 3, результатом будет число 33.

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


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

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

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