c# - 如何实现一个非随机的随机数生成器?

标签 c# .net algorithm random

我需要一个随机数生成器,它可以生成介于 n 和 m 之间的各种数字,但不是等概率生成的。我想在 n 和 m 之间设置一个值 x,其中可能性最高:

enter image description here

是否有使用 Random 类的简单方法来做到这一点?可能性应该具有二项分布或类似的形式(它是一个精确的二项分布并不重要,粗略的近似也可以)

编辑

也许我必须澄清一下:我不是在寻找二项式或高斯分布,而是在寻找这样的东西: enter image description here

我想定义 x 的可能性最大的地方。

编辑

不幸的是之前接受的答案does not seem to work我怎么怀疑。所以我还在寻找答案!

最佳答案

您可以使用 Box-Muller转换以从 0 和 1 之间均匀分布的数字序列生成伪随机正态分布数字序列。

Box-Muller transform

关于c# - 如何实现一个非随机的随机数生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5104165/

相关文章:

c# - 是否可以仅在扩展内部满足条件时才调用方法?

c# - 如何添加和检索 Azure Blob 的附加信息

c++ - 非大 O 复杂性

c# - 从 C# 将字节数组插入 SQL Server 以及如何检索它

c# - 用表达式定义的属性与传统方式有什么实际区别?

c# - 如何创建一个没有初始化为 null 或 0 的对象的数组?

java - 如何随机排列列表中的特定元素集?

c# - 在 C# 中将 EF 对象作为普通数组返回

c# - Nancy.DynamicDictionary 不包含 X 的定义

c# - 备用 UniqueId 生成技术