首页 > 解决方案 > 生成 0-N 范围内的随机数

问题描述

我正在尝试消化一种非常常见的方法来使用较大范围的随机数生成器在较小范围内生成随机数。

假设在 C/C++ 中我正在使用 rand() [它生成 0 到 RAND_MAX RAND_MAX 之间的随机数至少为 32767。]

假设我必须生成 0-99 之间的随机数(包括 0-99)。一个常见的技巧是 rand()%100。

不会 rand()%100 产生略有不同的概率[0-67 略高]

这样做的最佳方法是什么,以便您生成统一的随机数?

标签: algorithm

解决方案


推荐阅读