Как вычислить вероятность события, происходящего в данном количестве испытаний в C#
Сообщение
В этом примере используется следующий код для перечисления вероятностей события после заданного количества испытаний.
// Вычислить и отобразить вероятности. private void btnGo_Click(object sender, EventArgs e) { // См., Если вероятность содержит знак%. bool percent = txtEventProb.Text.Contains("%"); // Получите вероятность события. double event_prob = double.Parse(txtEventProb.Text.Replace("%", "")); // Если мы используем проценты, разделите их на 100. if (percent) event_prob /= 100.0; // Получить вероятность того, что событие не произойдет. double non_prob = 1.0 - event_prob; lvwResults.Items.Clear(); for (int i = 0; i <= 100; i++) { double prob = 1.0 - Math.Pow(non_prob, i); ListViewItem new_item = lvwResults.Items.Add(i.ToString()); if (percent) { prob *= 100.0; new_item.SubItems.Add(prob.ToString("0.0000") + "%"); } else { new_item.SubItems.Add(prob.ToString("0.000000")); } } }
Сначала код определяет, содержит ли вероятность, введенная пользователем, символ%. Если да, то программа отображает свой результат в процентах. В противном случае предполагается, что вероятности вводятся как десятичные значения менее 1.
Затем код анализирует вероятность, введенную пользователем, и преобразует ее в значение, меньшее 1, если это процент.
Код вычитает вероятность из 1, чтобы получить вероятность события not , а затем входит в цикл. Для i = 0 до 100 программа вычисляет 1 минус вероятность того, что событие не встречается в i-й степени, при необходимости преобразует результат в процент и отображает результат в элементе управления ListView. Tt> ListView. р>