Kuyruk yinelemesi kullanarak C (n, k) bulmak için bir fonksiyon programlamak istiyorum ve yardımınızı çok takdir ediyorum.LISP'de Kuyruk Saptama Kullanarak Binom Katsayısı
bu ulaştı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)))))
the following property of the binomial coefficients kullanma.
Ama sonuncusu ürün olduğu için, her örnek tarafından yürütülen son komut olarak nasıl yineleme çağrısının nasıl yapılacağını bilmiyorum. Tek bir yol olduğunu düşündüğüm yardımcı bir işlev kullanarak denedim ama bir çözüm bulamadım.
Çok teşekkürler. Birincisine benzeyen bir çözüm arıyordum (yaptığım ya da gördüğüm diğer işlevlere daha çok benziyordu), ama ikincisini, gerçekten çok zarif. – jesusiniesta