Здравствуйте, artelk, Вы писали:
A>Здравствуйте, deniok, Вы писали:
D>>Усилим задачу. Знакомый сообщает, что один из двух его детей — сын. Вы спрашиваете в какой день недели он родился. Когда он начинает отвечать, над вами пролетает реактивный самолет, и его ответ расслышать невозможно. Однако понятно, что он назвал какой-то день недели. Какова вероятность теперь?
A>Хмм.. возможно, что я неверно посчитал С2С2 за один вариант, а не за два (с двумя ответ будет тоже 1/3). Надо подумать.
Если за два, то ответ будет даже 1/2.
Короче, вот эмпирическое решение первой задачи:
https://rsdn.ru/forum/etude/2983057.1Автор: artelk
Дата: 10.06.08
Добавим предикат на день недели:
| Скрытый текст |
| struct Pair
{
public bool first;
public int firstBirthWeekDay;
public bool second;
public int secondBirthWeekDay;
}
class Program
{
static readonly Random rnd = new Random();
private static IEnumerable<Pair> Pairs()
{
for (int i = 0; i < 100*1000*1000; ++i)
{
var pair = new Pair
{
first = rnd.Next(2) == 0,
firstBirthWeekDay = rnd.Next(7) + 1,
second = rnd.Next(2) == 0,
secondBirthWeekDay = rnd.Next(7) + 1,
};
yield return pair;
}
}
private static void Main()
{
int N = 0;
int count = 0;
var pairsWithM2 = Pairs().Where(pair => (pair.first && pair.firstBirthWeekDay == 2) ||
(pair.second && pair.secondBirthWeekDay == 2));
foreach (var pair in pairsWithM2)
{
++N;
if (pair.first && pair.second)
++count;
}
Console.WriteLine(N);
Console.WriteLine(count);
Console.WriteLine((double) count/N);
Console.ReadKey();
}
}
|
| |
Вывод:
13775183
6631558
0,481413422965052
13/27 это примерно 0,4814814814814815
Но, блин, реактивный самолет напрочь отключает возможность понять полученный результат.