c# - 生成不包括某些数字的随机数

标签 c# random

有没有办法从一组不包含某些数字的数字中生成一个随机数?例如 - 20-50 的随机数,不包括 25、27、34。

最佳答案

生成 20 到 50 范围内的数字然后丢弃不需要的数字的方案会引入统计偏差。 (您往往会增加结果分布的方差;特别是如果您的生成器是线性同余的)。

最好的方法是在 20 - 47 范围内生成(调用绘图 x 说)然后使用

进行调整

if (x >= 25)++x; 如果 (x >= 27)++x; if (x >= 34)++x;

关于c# - 生成不包括某些数字的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33691821/

相关文章:

c# - 在 Windows 环境中使用 Etsy 的 StatsD

c# - XNA - 更新方法与绘制方法

c# - 扩展类型转换器

matlab - 加起来为 100 的随机数 : Matlab

java - while循环输出

MySQL RAND() 种子值几乎重复

c# - 引用大小结构的原子分配

c# - 无法将 'Microsoft.Expression.Platform.WPF.InstanceBuilders.WindowInstance'类型的对象转换为 'System.Windows.Window'类型

c++ - rand() 在 OS X Mavericks/XCode 5.1 上坏了吗? (或者, "is this a massive security hole, or am I just a bad programmer??")

java - 如何获得两个范围之间的随机数?