在C ++中,如何基于双值概率生成随机数?

时间:2015-03-20 20:36:18

标签: c++ probability

我的事件应该有0.5%的发生概率(不常见)。

如何根据此概率生成随机数?

这样的事情是否足够,我不相信,因为srand返回一个整数...

double rate = 0.05;
if((srand() % 100) < rate)
{
    std::cout << "Event Occurred" << endl;
}

1 个答案:

答案 0 :(得分:4)

std::mt19937 rng(std::random_device{}());
std::bernoulli_distribution d(0.005);
bool b = d(rng); // true 0.5% of the time; otherwise false