Определить рекурсивную функцию, возвращающую произведение двух целых положительных чисел - Lisp

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

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

Определить рекурсивную функцию, возвращающую произведение двух целых положительных чисел (использовать суммирование). В Lisp пытаюсь разобраться. Очень нужно к зачету.

Решение задачи: «Определить рекурсивную функцию, возвращающую произведение двух целых положительных чисел»

textual
Листинг программы
(defun product (n m)
  (if (zerop n) 0 (+ m (product (1- n) m))))
 
> (product 8 17)
136

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

В коде определена рекурсивная функция с именем product, которая принимает два аргумента n и m.

  1. Условие if проверяет, равно ли значение переменной n нулю.
  2. Если n равно нулю, то результатом работы функции будет 0.
  3. Если n не равно нулю, то результатом работы функции будет сумма m и результата вызова функции product с аргументами (1-n) и m.

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


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

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

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