dev/cpp/21movSamokatAuto/main.cpp

32 lines
1.1 KiB
C++
Raw Normal View History

#include <iostream>
#include <stdlib.h>
#include <math.h>
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;
}