Я новичок в программировании и застрял в части перестановки. У меня есть код, который работает для комбинации больших чисел, который хранится в матрице, но я не могу найти, что мне следует изменить, чтобы получить результат. Я попробовал рекурсивный метод для перестановок, но не смог добиться быстрых результатов.Лучшая программа для перестановки nPr больших чисел
Это код, который я получил для комбинации, какое должно быть изменение в состоянии, которое я должен сделать здесь, чтобы получить перестановки?
void combination()
{
int i,j;
for(i=0;i<100;i++)
{
nCr[i][0]=1;
nCr[i][i]=1;
}
for(i=1;i<100;i++)
for(j=1;j<100;j++)
if (i!=j)
{
nCr[i][j] = (nCr[i-1][j] + nCr[i-1][j-1]);
}
}
Что вы пытаетесь вычислить? Моя математика на этом немного ржавая, но не так ли, если вы ищете nCr, который является 'nCr [n] [r]' где 'n' и' r' - это значения, которые вы ищете. –
, если вы могли бы предоставить точное определение допустимости nPr больших чисел, чтобы было ясно, что именно пытается ваша программа. –
Я сниму свой ответ на комментарий: в любом случае nPk (n, k) или nCk (n, k) функция определена только для 0 <= k <= n. –