C++ Bc. 24

Z GeoWikiCZ
Verze z 11. 11. 2010, 22:53, kterou vytvořil Landa (diskuse | příspěvky) (odkaz na wikipedii)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přejít na: navigace, hledání
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)[1].

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 generátor pseudonáhodných čísel voláním

srand(time(0));

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

Příklad simulace

pocet pokusu v kazde simulaci je 100000

pocet osob  pravdepodobnost
        2   0.0030  0.0030  0.0028  0.0025  0.0026  0.0028  0.0025  
        3   0.0083  0.0081  0.0081  0.0081  0.0082  0.0084  0.0082  
        4   0.0161  0.0167  0.0168  0.0167  0.0163  0.0155  0.0168  
        5   0.0269  0.0276  0.0270  0.0273  0.0277  0.0277  0.0273  
       10   0.1174  0.1177  0.1165  0.1165  0.1168  0.1184  0.1168  
       15   0.2532  0.2535  0.2497  0.2515  0.2521  0.2549  0.2530  
       20   0.4115  0.4119  0.4134  0.4110  0.4112  0.4098  0.4122  
       23   0.5083  0.5084  0.5079  0.5061  0.5047  0.5082  0.5080  
       30   0.7062  0.7050  0.7057  0.7069  0.7064  0.7050  0.7065  
       40   0.8891  0.8908  0.8911  0.8920  0.8912  0.8924  0.8892  
       50   0.9695  0.9706  0.9708  0.9694  0.9705  0.9711  0.9702  
  1. 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

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