1. Я только понял, вычисляя один пример биномиального коэффициента шаг за шагом. но когда дело доходит до псевдокода, я немного смущен. особенно эта часть для (j = минимум (i, k); j> = 0; j--).
и что еще я понял, так это то, что n - это размер столбца, а k - размер строки. Я хочу знать, правильно ли я понял.Псевдокод биномиального коэффициента
int bin2(int n, int k)
{
index i, j;
int B[0...k];
for(i = 0;i <= n; i++)
{
for(j = minimum(i, k); j >= 0; j--)
{
if(j == 0 || j == i)
B[j]=1;
else
B[j] = B[j - 1] + B[j];
}
}
return B[n][k];
}
'B [n] [k]' не имеет смысла, если 'B' является 1-мерным массивом. Если вы пытаетесь создать треугольник Паскаля, вам нужен 2-й массив. –
Также - вычисление биномиального коэффициента путем вычисления всего треугольника Паскаля над ним (которое вы пытаетесь сделать) неэффективно. Имеются рекуррентности, позволяющие вычислять n-ю строку без вычисления предыдущих строк. См. Http://stackoverflow.com/q/15580291/4996248 –