A tipi, n tipi B, n tipi C ve D tipi n olmayan kartlar vardır. Her birinin n kart alması gereken 4 kişi vardır. Kartları kaç şekilde dağıtabiliriz?

A tipi, n tipi B, n tipi C ve D tipi n olmayan kartlar vardır. Her birinin n kart alması gereken 4 kişi vardır. Kartları kaç şekilde dağıtabiliriz?
Anonim

Cevap:

Bu cevaba nasıl yaklaşılacağı hakkında bir fikir için aşağıya bakınız:

Açıklama:

Bu sorunun yapılması üzerine metodoloji sorusuna verilen cevabın, toplum içinde aynı maddelerle bir araya getirildiğine inanıyorum (örneğin; # 4n # kartlarla # N # A, B, C ve D) tiplerinin sayısı, kombinasyon formülünün hesaplama kabiliyetinin dışında kalmaktadır. Bunun yerine, mathforum.org'daki Dr. Math'a göre, birkaç tekniğe ihtiyacınız var: nesneleri farklı hücrelere dağıtma ve dahil etme-hariç tutma ilkesi.

Bu soruyu tekrar tekrar nasıl hesaplayacağımızla doğrudan ilgili olan bu yazıyı (http://mathforum.org/library/drmath/view/56197.html) okudum ve net sonuç şu anda Cevap orada bir yerde yatıyor, burada cevap vermeye çalışmıyorum. Uzman matematik uzmanlarımızdan birinin devreye girip size daha iyi bir cevap vermesini umuyorum.

Cevap:

C'deki bir sayma programı aşağıdaki sonuçları verir:

Açıklama:

#Dahil etmek

int main ()

{

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

int tarak 5000 4;

uzun sayım;

(n = 1, n = <20, n ++)

{

numcomb = 0;

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

{

tarak numcomb 0 = i;

tarak numcomb 1 = j;

tarak numcomb 2 = k;

tarak numcomb 3 = n-ı-j-k;

numcomb ++;

}

sayım = 0;

for (i = 0; i<>

{

j (j = 0<>

{

br = 0;

(t = 0; t <4; t ++) eğer ((tarak i t + tarak j t> n) br = 1;

eğer (! br)

{

(k = 0; k<>

{

br2 = 0;

(t = 0; t <4; t ++) eğer ((tarak i t + tarak j t + tarak k t> n) br2 = 1;

eğer (! br2)

{

++ saymak;

}

}

}

}

}

printf (" nN = için% d:% ld.", n, sayısı);

}

Printf (" n");

Dönüş (0);

}