Рандомные цифры с разной вероятностью появления - C#
Формулировка задачи:
Есть диапазон рандомных чисел:
Но у них одинаковая вероятность появления. Как сделать, чтобы вероятность появления цифры 3 = 60%, цифры 2 = 20%, 1 = 15%, 0 = 5%?
Random rand = new Random(); label4.Text = Convert.ToString(rand.Next(0, 4));
Решение задачи: «Рандомные цифры с разной вероятностью появления»
textual
Листинг программы
static Random rn = new Random(); public static int getRnd(Dictionary<double, int> p) { double total = 0; foreach (double d in p.Keys) total += d; double r = rn.NextDouble() * total; total = 0; foreach (double d in p.Keys) { total += d; if (total >= r) return p[d]; } return -1; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д