在C++中,如何基于双值概率生成随机数
In C++, How Can I Generate A Random Number Based Off Of A Double Value Probability?
我有一个事件发生的概率应该为0.5%(不经常发生)。
如何根据这个概率生成一个随机数?
如果srand返回一个整数,这样的东西就足够了吗。。。
double rate = 0.05;
if((srand() % 100) < rate)
{
std::cout << "Event Occurred" << endl;
}
std::mt19937 rng(std::random_device{}());
std::bernoulli_distribution d(0.005);
bool b = d(rng); // true 0.5% of the time; otherwise false
相关文章:
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 整数不会重复超过随机数
- 如何根据单词在文本中出现的概率输出单词
- if数组上的随机数
- 在将数字随机生成为数组期间从内存输出随机数的数组
- 半随机数生成C++
- 程序在尝试猜测它选择的随机数时进入无限循环?
- 有没有办法在 c++ 中同时生成随机数?如果没有,是否有解决方法?
- 具有随机数的二维数组不会更改
- 随机数未达到限制
- 我想生成许多矩阵并用随机数填充它
- <random>在实践中应该实际使用哪个随机数引擎? std::mt19937?
- 制作具有平均值的随机数生成器
- 生成具有给定概率的随机数(C++)
- 概率和随机数
- 具有不同概率的随机数
- 生成一个小于4位的随机数,但其具有1、2或3位数字的概率相等
- 在C++中,如何基于双值概率生成随机数
- 产生具有一定概率的随机数
- 根据这些概率,这会给我合适的随机数吗?C++