C++ Bc. 24: Porovnání verzí

Z GeoWikiCZ
Bez shrnutí editace
Bez shrnutí editace
Řádek 14: Řádek 14:


kde funkce <tt>time()</tt> je definována v knihovně <tt>&lt;ctime&gt;</tt>.
kde funkce <tt>time()</tt> je definována v knihovně <tt>&lt;ctime&gt;</tt>.
'''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 


[ [[C plus plus Bc.|Zpět]] | [[C plus plus Bc. 24 cpp | C++ ]] ]
[ [[C plus plus Bc.|Zpět]] | [[C plus plus Bc. 24 cpp | C++ ]] ]

Verze z 1. 4. 2006, 10:26

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>.


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  

[ Zpět | C++ ]