Выдача элементов с заданным шансом - C#
Формулировка задачи:
Здравствуйте. Такой вопрос, есть 6 элементов , каждому из этих элементов задается % выпадения , например:
Item[0] = 92
Item[1] = 5.75
Item[2] = 1.24
Item[3] = 0.7
Item[4] = 0.3
Item[5] = 0.01
Нужно, чтобы пользователь ввел кол-во попыток и уже из этих попыток определялось, какой элемент выдаст программа. Допустим , если ввести число попыток 100 , то программа 100 раз зарандомит и выдаст уже результат , сколько каких элементов выпало. Не могу понять как реализовать через класс Random.
Решение задачи: «Выдача элементов с заданным шансом»
textual
Листинг программы
Random r = new Random(); int[] a = { 1, 31, 101, 225, 800 }; int[] Item = { 0, 0, 0, 0, 0, 0 }; int m = 1000000; for (int j, i = 0; i < m; i++) { int n = r.Next(10000); for (j = 0; j < 5 && n >= a[j]; j++) ; Item[5-j]++; } for (int i = 0; i < 6; i++) Console.WriteLine(100.0 * Item[i] / m + "%");
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д