Сравнение двух ответов в задаче про домино по теории вероятности
Из полного набора костей домино (28 штук) наудачу достают 4 кости. Найдите вероятности событий:
- среди отобранных окажется ровно 1 кость с б очками:
решил двумя способами, ответы получились разными. Какой из них верный и почему?
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Чтоб вопрос не закрывать, переведем его в другую плоскость: программисты мы или погулять вышли? :)
Вычислительный эксперимент - наше всё! :)
#include <vector>
#include <iostream>
#include <random>
#include <algorithm>
using namespace std;
int main()
{
mt19937 g(random_device{}());
vector<int> v;
for(int i = 0; i < 28; ++i)
if (i < 7) v.push_back(1);
else v.push_back(0);
int total = 0, ok = 0;
for(int i = 0; i < 1000000; ++i)
{
shuffle(v.begin(),v.end(),g);
if (v[0]+v[1]+v[2]+v[3] == 1) ++ok;
++total;
}
cout << double(ok)/total << endl;
}
И мы сразу видим, что правильный ответ - второй.
Ну, а почему неверен первый? Потому что он у вас не учитывает, что кость с шестеркой может выпасть не только первой, а четырьмя способами.