#include #include #include using namespace std; const int NEXPER = 10000; int main(void) { srand(time(0)); int M = 0, N = 0; // Повторяем эксперимент NEXPER раз for (N = 0; N < NEXPER; N++) { // за одной из 3-х досок автомобиль int WonDesk = rand()%3 + 1; // 1,2 или 3 // мы указываем на доску №1, // после чего ведущий открывает 1-ну из досок int OdnaIsDosok = rand()%2 + 2; // 2 или 3 if (OdnaIsDosok == WonDesk) { // если за ней автомобиль, то он должен однозначно открыть не эту OdnaIsDosok = OdnaIsDosok==2 ? 3 : 2; } // мы изменяем выбор и подсчитываем вероятность if (WonDesk != 1) M++; // если автомобиль не за 1-ой доской, то при изменении выбора едем домой на 4-х =) } cout << "p = " << (double(M)/double(N)) << endl; return 0; }