Я хочу запрограммировать функцию для поиска C (n, k) с помощью хвостовой рекурсии, и я был бы очень признателен за вашу помощь.
Я достиг этого:
(defun tail-recursive-binomial (n k)
(cond ((or (< n k) (< k 0)) NIL)
((or (= k 0) (= n k)) 1)
(T (* (tail-recursive-binomial (- n 1) (- k 1)) (/ n k)))))
Использование следующего свойства биномиальных коэффициентов .
Но я не знаю, как сделать рекурсивный вызов последней инструкцией, выполняемой каждым экземпляром, поскольку последняя является продуктом. Я пробовал это с помощью вспомогательной функции, которая, я думаю, является единственным способом, но я не нашел решения.