32 lines
1.1 KiB
C++
32 lines
1.1 KiB
C++
#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;
|
||
}
|
||
|