Выдача элементов с заданным шансом - 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 + "%");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы