У меня есть следующая программа, вычисляющая биномиальный коэффициент двух целых чисел. Но я хочу изменить программу, что она вычисляет и сохраняет только необходимые коэффициенты для решения. Проблема в том, что я действительно не знаю, как это сделать, прямо сейчас. The CodeJava: вычисление биномиального коэффициента
public static long binomialIteration(int n, int k)
{
if(k<0 || n<k)
{
return 0;
}
long[][] h= new long[n+1][n+1];
for(int i=0; i<=n; i++)
{
h[i][0]=h[i][i]=1;
}
for(int i=1;i<=n;i++)
{
for(int j=0; j<=i; j++)
{
h[i][j] = (j==0 ? 0: h[i-1][j-1]) + (i == j ? 0 : h[i-1][j]);
}
}
return h[n][k];
}
, пожалуйста, добавьте код в вопрос – Hosseini
Зачем вы размещаете скриншот здесь. Просто вставьте свой код ... –
Если вы хотите получить какой-то хороший намек на то, как выяснить, как найти эффективный способ решения вашей проблемы, вы должны изучить динамическое программирование (это парадигма, которая подсказывает вам сохранить уже вычисленные значения, чтобы избежать их повторного использования), проверьте эти ссылки: [псевдокод] (http://www.csl.mtu.edu/cs4321/www/Lectures/Lecture%2015%20-%20Dynamic%20Programming%20Binomial%20Коэффициенты .htm) или [другой путь (реализация)] (http://stackoverflow.com/questions/28919286/binomial-coefficient-algorithm-using-dynamic-programming-and-a-single-dimensiona) – Simonlbc