Problem jest nastepujacy:
Powiedziano (jacys hazardzisci - marynarze Galileuszowi), ze przy jednoczesnym rzucie trzema
koscmi uklad kosci, w ktorym suma oczek wynosi 10, jest bardziej prawdopodobny niz taki,
w ktorym suma oczek wynosi 9. Moje zadanie (z podrecznika "Introduction to Probability", C. M.
Grinstead, J. L. Snell, dostepny na stronie ) polegalo
na napisaniu programu, ktory symuluje rzut trzema koscmi. Oto kod mojego programu w C++:
Kod: Zaznacz cały
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[]){
int times = atoi(argv[1]);
int nine = 0;
int ten = 0;
srand((unsigned)time(0));
for (int i=0; i < times; i++){
if(rand()%6 + rand()%6 + rand()%6 + 3 == 9)
nine++;
if(rand()%6 + rand()%6 + rand()%6 + 3 == 10)
ten++;
}
cout << "nine: " << float(nine)/float(times) << endl;
cout << "ten: " << float(ten)/float(times) << endl;
}
ktorych suma wynosi 10 (obie wynosza 6 ukladow).
Wyniki wykonywania, sa nastepujace (ponizsze 3 cyfry znaczace nie zmienialy sie juz przy symulacjach o liczbie powtorzen wiekszej niz 100000):
prawdopodobienstwo sumy oczek 10: 0.125
prawdopodobienstwo sumy oczek 9: 0.116
W podreczniku pytaja, czy marynarze maja racje. Wedlug moich wynikow - maja. To wydaje sie
nielogiczne, i strasznie mnie meczy. Dlaczego tak jest? Gdzie blad w moim rozumowaniu?
Pozdrawiam serdecznie,
Forfiter