C++ Bc. 34
- 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
- {mám 4 trumfy}
- {protihráč I má 4 trumfy a protihráč II má 0 trumfů nebo naopak}
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