May mga magkatulad na kard ng uri A, n ng uri B, n ng uri C, at n ng uri D. Mayroong 4 na tao na kailangang makatanggap ng n card. Sa ilang mga paraan maaari naming ipamahagi ang mga card?

May mga magkatulad na kard ng uri A, n ng uri B, n ng uri C, at n ng uri D. Mayroong 4 na tao na kailangang makatanggap ng n card. Sa ilang mga paraan maaari naming ipamahagi ang mga card?
Anonim

Sagot:

Tingnan sa ibaba para sa isang ideya kung paano lapitan ang sagot na ito:

Paliwanag:

Naniniwala ako na ang sagot sa tanong ng pamamaraan sa paggawa ng problemang ito ay ang Kumbinasyon na may magkaparehong mga bagay sa loob ng populasyon (tulad ng pagkakaroon # 4n # card na may # n # bilang ng mga uri A, B, C, at D) ay nasa labas ng kakayahan ng formula ng kumbinasyon upang makalkula. Sa halip, ayon kay Dr. Math sa mathforum.org, nagtatapos ka na nangangailangan ng ilang mga diskarte: namamahagi ng mga bagay sa magkakaibang mga cell, at ang prinsipyo ng pagbubukod-pagsasama.

Nabasa ko ang post na ito (http://mathforum.org/library/drmath/view/56197.html) na direktang tumutukoy sa tanong kung paano makalkula ang ganitong uri ng problema nang paulit-ulit at ang netong resulta ay habang ang sagot ay naroroon sa isang lugar, hindi ako susubukan na magbigay ng sagot dito. Umaasa ako na isa sa aming mga dalubhasang math gurus ay makakaapekto sa iyo at magbibigay sa iyo ng isang mas mahusay na sagot.

Sagot:

Ang isang programa ng pagbibilang sa C ay nagbubunga ng mga sumusunod na resulta:

Paliwanag:

# isama

int main ()

{

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

int magsuklay 5000 4;

mahaba ang bilang;

para sa (n = 1; n <= 20; n ++)

{

numcomb = 0;

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

{

suklay numcomb 0 = i;

magsuklay numcomb 1 = j;

suklay numcomb 2 = k;

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

numcomb ++;

}

count = 0;

para sa (i = 0; i<>

{

para sa (j = 0; j<>

{

br = 0;

para sa (t = 0; t <4; t ++) kung (magsuklay i t + magsuklay j t> n) br = 1;

kung (! br)

{

para sa (k = 0; k<>

{

br2 = 0;

para sa (t = 0; t <4; t ++) kung (magsuklay i t + magsuklay j t + magsuklay k t> n) br2 = 1;

kung (br2)

{

bilangin ++;

}

}

}

}

}

printf (" nCount para sa n =% d:% ld.", n, bilang);

}

printf (" n");

bumalik (0);

}