algorithm - 生成 0-N 范围内的随机数
问题描述
我正在尝试消化一种非常常见的方法来使用较大范围的随机数生成器在较小范围内生成随机数。
假设在 C/C++ 中我正在使用 rand() [它生成 0 到 RAND_MAX RAND_MAX 之间的随机数至少为 32767。]
假设我必须生成 0-99 之间的随机数(包括 0-99)。一个常见的技巧是 rand()%100。
不会 rand()%100 产生略有不同的概率[0-67 略高]
这样做的最佳方法是什么,以便您生成统一的随机数?
解决方案
推荐阅读
- html - BOX并排放置
- python-3.x - 如何在发布请求键中传递变量?
- laravel - 自动完成找不到路线
- c - 当字符串被 C 中的空字符截断时会发生什么?
- javascript - 如何从 Javascript 中另一个元素中包含的 div 获取信息?
- python - 使用烧瓶上传文件的安全内容
- linux - 使用 Shell 从 Windows 机器发送邮件(来自 Git bash)
- c++ - 如何指定自定义类符合标准或自定义类型特征
- c++ - 类的取消引用不起作用,并且此错误不断弹出:“std::logic_error what(): M constructor null not valid”
- c++ - ESP32 任务中的 RTC DS3231 在读取温度时导致 ESP 重启