Процентное выполнение действия от количества выполнений c#

xASZx

Client
Регистрация
24.11.2017
Сообщения
70
Благодарностей
15
Баллы
8
Подскажите как реализовать процентное выполнение действия от количества выполнений.
Допустим поставили 150 выполнений шаблона и в этих 150 разах надо 20% выполнить какое то действие рандомно
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
есть кубик получения рандомного числа. генерируешь число от 0 до 100 и потом в условии сравниваешь с 20 например. выход по зеленой будет попадание в 20 процентов, по красной попадание в 80 процентов.
 

xASZx

Client
Регистрация
24.11.2017
Сообщения
70
Благодарностей
15
Баллы
8
есть кубик получения рандомного числа. генерируешь число от 0 до 100 и потом в условии сравниваешь с 20 например. выход по зеленой будет попадание в 20 процентов, по красной попадание в 80 процентов.
Правильно ли я понял. Но этот код будет работать для данного потока который сейчас работает.
А как сделать что бы это было для общего числа выполнений?
допустим надо 1000 раз выполнить шаблон в 50 потоков.
Количество выполнений можно взять из NumberOfTries и вот как процентное выполнение к этому привязать?
Получается на 1000 выполнений при 20% должно действие выполниться 200 раз рандомно

C#:
Random rnd = new Random();
int r = rnd.Next(0,101);
project.SendInfoToLog("Число с рандома " + r);
if(r <= 20){
project.SendInfoToLog("Попали в 20%");
    return 0;
}
else {
    project.SendInfoToLog("Попали в 80%");
    return 1;
}
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
зачем это контролировать. ? примерно в каждом шаблоне будет происходить 20-ти процентное действие. и в общем количестве будет тоже примерно так же. плюс минус.... ну это же рандом... чем больше будет выполнений тем ближе будет распределение.
если нужно жесткий контроль, то это надо записывать куда нибудь что выпало и каждый раз пересчитывать... ну это очень геморно, для такого простого действия :-)
 
  • Спасибо
Реакции: xASZx

xASZx

Client
Регистрация
24.11.2017
Сообщения
70
Благодарностей
15
Баллы
8
зачем это контролировать. ? примерно в каждом шаблоне будет происходить 20-ти процентное действие. и в общем количестве будет тоже примерно так же. плюс минус.... ну это же рандом... чем больше будет выполнений тем ближе будет распределение.
если нужно жесткий контроль, то это надо записывать куда нибудь что выпало и каждый раз пересчитывать... ну это очень геморно, для такого простого действия :-)
Действительно такой код вполне хорошо работает) Спасибо)
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)