Es gibt n identische Karten vom Typ A, n vom Typ B, n vom Typ C und n vom Typ D. Es gibt 4 Personen, die jeweils n Karten erhalten müssen. Auf wie viele Arten können wir die Karten verteilen?

Es gibt n identische Karten vom Typ A, n vom Typ B, n vom Typ C und n vom Typ D. Es gibt 4 Personen, die jeweils n Karten erhalten müssen. Auf wie viele Arten können wir die Karten verteilen?
Anonim

Antworten:

Nachfolgend finden Sie eine Idee, wie Sie diese Antwort angehen können:

Erläuterung:

Ich glaube, die Antwort auf die Frage nach der Methodik bei diesem Problem ist, dass Kombinationen mit identischen Gegenständen in der Bevölkerung (z. B. haben) # 4n # Karten mit # n # Anzahl der Typen A, B, C und D) liegt außerhalb der Berechnungsmöglichkeit der Kombinationsformel. Laut Dr. Math von mathforum.org benötigen Sie schließlich ein paar Techniken: das Verteilen von Objekten in verschiedene Zellen und das Prinzip des Einschluss-Ausschlusses.

Ich habe diesen Beitrag (http://mathforum.org/library/drmath/view/56197.html) gelesen, der sich direkt mit der Frage beschäftigt, wie diese Art von Problem immer wieder neu berechnet werden kann und das Nettoergebnis das ist Die Antwort liegt irgendwo da, ich werde hier nicht versuchen, eine Antwort zu geben. Ich bin zuversichtlich, dass einer unserer erfahrenen Mathe-Gurus einspringen und Ihnen eine bessere Antwort geben kann.

Antworten:

Ein Zählprogramm in C führt zu folgenden Ergebnissen:

Erläuterung:

#umfassen

int main ()

{

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

int comb 5000 4;

lange zählen;

für (n = 1; n <= 20; n ++)

{

numcomb = 0;

für (i = 0; i <= n; i ++) für (j = 0; j <= n-i; j ++) für (k = 0; k <= n-i-j; k ++)

{

Kamm Zahl 0 = i;

Kamm Zahl 1 = j;

Kamm Zahl 2 = k;

Kamm Zahl 3 = n-i-j-k;

numcomb ++;

}

count = 0;

für (i = 0; i<>

{

für (j = 0; j<>

{

br = 0;

für (t = 0; t <4; t ++) if (comb i t + comb j t> n) br = 1;

wenn (! br)

{

für (k = 0; k<>

{

br2 = 0;

für (t = 0; t <4; t ++) if (comb i t + comb j t + comb k t> n) br2 = 1;

wenn (! br2)

{

count ++;

}

}

}

}

}

printf (" nCount für n =% d:% ld.", n, count);

}

printf (" n");

return (0);

}