0
У меня есть событие, которое должно иметь 0,5% вероятность возникновения (не очень часто).В C++, как я могу создать случайное число, основанное на двойной вероятности вероятности?
Как я могу сгенерировать случайное число на основе этой вероятности?
Будет что-то вроде этого будет достаточно, я не верю, что так srand возвращает целое ...
double rate = 0.05;
if((srand() % 100) < rate)
{
std::cout << "Event Occurred" << endl;
}
'srand' не генерирует случайные числа; 'rand' делает. –
Возможный дубликат [Как получить значение, основанное на определенной вероятности] (http://stackoverflow.com/questions/3572343/how-to-obtain-a-value-based-on-a-certain-probability) –
@ Дух МэтьюМома прав, но хотел добавить, что трюк помнит, что вероятность 0,05% эквивалентна вероятности 5/10000. Другими словами, вам просто нужно масштабировать свои значения соответствующим образом, чтобы все было целым числом. – aruisdante