Ada n kartu identik tipe A, n tipe B, n tipe C, dan n tipe D. Ada 4 orang yang masing-masing harus menerima kartu n. Dalam berapa banyak cara kami dapat mendistribusikan kartu?

Ada n kartu identik tipe A, n tipe B, n tipe C, dan n tipe D. Ada 4 orang yang masing-masing harus menerima kartu n. Dalam berapa banyak cara kami dapat mendistribusikan kartu?
Anonim

Menjawab:

Lihat di bawah untuk ide tentang cara mendekati jawaban ini:

Penjelasan:

Saya percaya jawaban atas pertanyaan metodologi dalam melakukan masalah ini adalah bahwa Kombinasi dengan item identik dalam populasi (seperti memiliki # 4n # kartu dengan # n # jumlah tipe A, B, C, dan D) berada di luar kemampuan rumus kombinasi untuk menghitung. Sebaliknya, menurut Dr. Math di mathforum.org, Anda pada akhirnya membutuhkan beberapa teknik: mendistribusikan objek ke dalam sel yang berbeda, dan prinsip inklusi-pengecualian.

Saya sudah membaca posting ini (http://mathforum.org/library/drmath/view/56197.html) yang berhubungan langsung dengan pertanyaan tentang bagaimana cara menghitung jenis masalah ini berulang-ulang dan hasilnya adalah sementara jawabannya ada di suatu tempat, saya tidak akan mencoba memberikan jawaban di sini. Saya berharap salah satu guru ahli matematika kami dapat masuk dan memberi Anda jawaban yang lebih baik.

Menjawab:

Program penghitungan dalam C menghasilkan hasil berikut:

Penjelasan:

#termasuk

int main ()

{

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

sisir int 5000 4;

hitungan panjang;

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

{

numcomb = 0;

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

{

sisir numcomb 0 = i;

sisir numcomb 1 = j;

sisir numcomb 2 = k;

sisir numcomb 3 = n-i-j-k;

numcomb ++;

}

hitung = 0;

untuk (i = 0; i<>

{

untuk (j = 0; j<>

{

br = 0;

untuk (t = 0; t <4; t ++) jika (sisir i t + sisir j t> n) br = 1;

jika (! br)

{

untuk (k = 0; k<>

{

br2 = 0;

untuk (t = 0; t <4; t ++) jika (sisir i t + sisir j t + sisir k t> n) br2 = 1;

if (! br2)

{

hitung ++;

}

}

}

}

}

printf (" nCount untuk n =% d:% ld.", n, hitung);

}

printf (" n");

return (0);

}