Хвостовая рекурсивная функция биномиального коэффициента в JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Хвостовая рекурсивная функция биномиального коэффициента в Java

Сообщение Anonymous »

Я хочу реализовать функцию хвостовой рекурсии для вычисления биномиального коэффициента двух чисел n и k. Если k > n, то следует вернуть 0. Аналогично, если n == k или k == 0, он должен вернуть 1. Я реализовал это рекурсивно следующим образом, но, очевидно, это не использует логику хвостового вызова, но я не могу понять, как соединить их вычисления в один рекурсивный вызов. Будем очень признательны за любую помощь, а также за объяснение того, как перейти от обычной рекурсивной функции к реализации хвостовой рекурсии. Спасибо!
public static long binomCoeffRecursive(int n, int k) {
// TODO: Implement binomCoeff recursively.
if (n == k) {
return 1;
}
if (k > n) {
return 0;
}
if (k == 0) {
return 1;
}
return binomCoeffRecursive(n-1, k-1) + binomCoeffRecursive(n - 1, k);
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... on-in-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»