Terdapat kad yang sama n jenis A, n jenis B, n jenis C, dan n jenis D. Terdapat 4 orang yang masing-masing perlu menerima kad n. Dalam berapa banyak cara kita boleh mengedarkan kad?

Terdapat kad yang sama n jenis A, n jenis B, n jenis C, dan n jenis D. Terdapat 4 orang yang masing-masing perlu menerima kad n. Dalam berapa banyak cara kita boleh mengedarkan kad?
Anonim

Jawapan:

Lihat di bawah untuk mendapatkan idea mengenai cara mendekati jawapan ini:

Penjelasan:

Saya percaya jawapan kepada soal metodologi untuk melakukan masalah ini ialah Kombinasi dengan item yang sama dalam populasi (seperti mempunyai # 4n # kad dengan # n # bilangan jenis A, B, C, dan D) berada di luar keupayaan formula kombinasi untuk dikira. Sebaliknya, menurut Dr Math di mathforum.org, anda akhirnya memerlukan beberapa teknik: mengedarkan objek ke dalam sel yang berbeza, dan prinsip pengecualian pengecualian.

Saya telah membaca siaran ini (http://mathforum.org/library/drmath/view/56197.html) yang berkaitan langsung dengan persoalan bagaimana untuk mengira jenis masalah ini berulang-ulang dan hasil bersih adalah bahawa sementara jawapannya terletak di sana di suatu tempat, saya tidak akan cuba memberi jawapan di sini. Saya berharap salah satu pakar matematik pakar kami dapat melangkah dan memberi anda jawapan yang lebih baik.

Jawapan:

Program pengiraan dalam hasil C berikut hasil:

Penjelasan:

#include

int main ()

{

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

int comb 5000 4;

kiraan panjang;

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

{

numcomb = 0;

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

{

sis numcomb 0 = i;

sis numcomb 1 = j;

sikat numcomb 2 = k;

sikat 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 (sis i t + sis j t> n) br = 1;

jika (! br)

{

untuk (k = 0; k<>

{

br2 = 0;

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

jika (! br2)

{

kiraan ++;

}

}

}

}

}

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

}

printf (" n");

kembali (0);

}