C++ Bc. 24: Porovnání verzí
Bez shrnutí editace |
Bez shrnutí editace |
||
Řádek 9: | Řádek 9: | ||
rand()/(RAND_MAX + 1.0) | rand()/(RAND_MAX + 1.0) | ||
kde funkce <tt>rand()</tt> a konstanta <tt>RAND_MAX</tt> jsou definovány v knihovně <tt><cstdlib></tt>. Aby program poskytoval při každém volání jinou simulaci, | kde funkce <tt>rand()</tt> a konstanta <tt>RAND_MAX</tt> jsou definovány v knihovně <tt><cstdlib></tt>. Aby program poskytoval při každém volání jinou simulaci, inicializujte generator pseudonáhodných čísel voláním | ||
srand(time(0)); | srand(time(0)); |
Verze z 1. 4. 2006, 10:00
Narozeninový paradox
Narozeninový paradox říká, že pokud se v místnosti sejde 23 či více lidí, je pravděpodobnost, že alespoň dva mají narozeniny ve stejný den víc než 50% (0.5073). D.E.Knuth: The Art of Computer Programming, Vol. 3, Sorting and Searching, 2nd ed., Addison-Wesley, 1998, ISBN 0-201-89685-0, str. 513, 549.
Napište simulační program, který ověří výše uvedené tvrzení.
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 generator pseudonáhodných čísel voláním
srand(time(0));
kde funkce time() je definována v knihovně <ctime>.