C++ Bc. 34

Z GeoWikiCZ
Přejít na: navigace, hledání
Mariáš - podmíněná pravděpodobnost

32 promíchaných karet bylo rozdáno tak, že já mám 12 karet a moji dva protihráči každý 10 (tj. v mariáši jsem vylicitoval talón). V ruce držím 4 trumfy. Jaká je pravděpodobnost, že zbylé čtyři trumfy drží všechny v ruce jeden z protihráčů.

Označme si jevy

A = {mám 4 trumfy}
B = {protihráč I má 4 trumfy a protihráč II má 0 trumfů nebo naopak}


P(B|A) = {P(A\cap B)\over P(A)} =
{2{8\choose4}{24\choose8}{16\choose10} \over {8\choose4}{24\choose8}{20\choose10}} =
{4\cdot7\over19\cdot17}=0.087

Matematická statistika, Přednášky pro PřF UK, Michal Kulich, 2006

Zadání

Napište simulační program, který odhadne požadovanou pravděpodobnost.

Pro generování rovnoměrného rozdělení čísel z intervalu <0,1) použijte výraz

rand()/(RAND_MAX + 1.0)

kde funkce rand() a konstanta RAND_MAX jsou definovány v knihovně <cstdlib>. Aby program poskytoval při každém volání jinou simulaci, inicializujte generátor pseudonáhodných čísel voláním

srand(time(0));

kde funkce time() je definována v knihovně <ctime>.

Poznámka: základ programu tvoří zamíchání karet před každým rozdáním, tj. výpočet náhodné permutace.

Příklad simulace

 1 : 0.0867  ~  0.0873   0.0873
 2 : 0.0867  ~  0.0873   0.0873
 3 : 0.0867  ~  0.0845   0.0864
 4 : 0.0867  ~  0.0861   0.0863
 5 : 0.0867  ~  0.0863   0.0863
 6 : 0.0867  ~  0.0858   0.0862
 7 : 0.0867  ~  0.0867   0.0863
 8 : 0.0867  ~  0.0873   0.0864
 9 : 0.0867  ~  0.0861   0.0864
10 : 0.0867  ~  0.0878   0.0865

[ Zpět | C++ | Další ]