Jest n identycznych kart typu A, n typu B, n typu C i n typu D. Istnieją 4 osoby, z których każda musi otrzymać n kart. Na ile sposobów możemy rozdawać karty?

Jest n identycznych kart typu A, n typu B, n typu C i n typu D. Istnieją 4 osoby, z których każda musi otrzymać n kart. Na ile sposobów możemy rozdawać karty?
Anonim

Odpowiedź:

Poniżej znajduje się pomysł, jak podejść do tej odpowiedzi:

Wyjaśnienie:

Wierzę, że odpowiedź na pytanie o metodologię tego problemu polega na tym, że kombinacje z identycznymi elementami w populacji (takie jak posiadanie # 4n # karty z # n # liczba typów A, B, C i D) wykracza poza możliwość obliczenia wzoru kombinacji. Zamiast tego, według dr Matha na mathforum.org, potrzeba kilku technik: dystrybucji obiektów do odrębnych komórek i zasady wykluczenia włączenia.

Przeczytałem ten post (http://mathforum.org/library/drmath/view/56197.html), który zajmuje się bezpośrednio pytaniem o to, jak obliczać tego typu problemy w kółko, a wynikiem jest to, że odpowiedź gdzieś tam leży, nie będę tutaj próbował udzielić odpowiedzi. Mam nadzieję, że jeden z naszych ekspertów guru matematyki może wkroczyć i dać ci lepszą odpowiedź.

Odpowiedź:

Program liczący w C daje następujące wyniki:

Wyjaśnienie:

#zawierać

int main ()

{

int n, i, j, k, t, br, br2, numcomb;

int grzebień 5000 4;

długo liczyć;

dla (n = 1; n <= 20; n ++)

{

numcomb = 0;

dla (i = 0; i <= n; i ++) dla (j = 0; j <= n-i; j ++) dla (k = 0; k <= n-i-j; k ++)

{

grzebień numcomb 0 = i;

grzebień numcomb 1 = j;

grzebień numcomb 2 = k;

grzebień numcomb 3 = n-i-j-k;

numcomb ++;

}

count = 0;

dla (i = 0; i<>

{

dla (j = 0; j<>

{

br = 0;

dla (t = 0; t <4; t ++) jeśli (grzebień i t + grzebień j t> n) br = 1;

jeśli (! br)

{

dla (k = 0; k<>

{

br2 = 0;

dla (t = 0; t <4; t ++) jeśli (grzebień i t + grzebień j t + grzebień k t> n) br2 = 1;

jeśli (! br2)

{

liczyć ++;

}

}

}

}

}

printf ("nCount dla n =% d:% ld.", n, count);

}

printf ("n");

return (0);

}