C++ 生成C+中范围内的均匀分布随机数+;

C++ 生成C+中范围内的均匀分布随机数+;,c++,C++,我知道也有类似的问题。 但我的设置不同 必须使用rand() 必须使用srand()从用户输入中获取种子 仅使用标准库 我不知道是否可以得到均匀分布的随机数,我必须使用随机库吗?< /P> < P>在继承函数如 RAND()> Srand()> >时,C++标准大多遵从C标准。 不幸的是,C标准中没有关于rand()提供统一分布的内容。事实上,它在脚注(我的重点)中指出: 对于生成的随机序列的质量,没有保证,并且已知一些实现产生具有令人不安的非随机低阶位的序列。有特殊要求的应用应使用已知

我知道也有类似的问题。
但我的设置不同

  • 必须使用
    rand()
  • 必须使用
    srand()
    从用户输入中获取种子
  • 仅使用标准库

我不知道是否可以得到均匀分布的随机数,我必须使用<代码>随机库吗?< /P> < P>在继承函数如<代码> RAND()> <代码> Srand()> <代码> >时,C++标准大多遵从C标准。 不幸的是,C标准中没有关于

rand()
提供统一分布的内容。事实上,它在脚注(我的重点)中指出:

对于生成的随机序列的质量,没有保证,并且已知一些实现产生具有令人不安的非随机低阶位的序列。有特殊要求的应用应使用已知足以满足其需求的发电机


如果你想对随机数有特定的属性,你应该使用C++的东西在<代码> <代码>(是的,我知道你似乎已经打折了,但是你可能需要权衡一下:要么使用它们,要么不能保证一个特定的分布)。如果我们做一些数学运算?我不是数学专业的学生,所以我不知道。@shidangai,我也不知道。也许听从更可能理解数学的人会是个好主意:。或者,像我一样,如果你读到这篇文章时感到头痛,请使用

,因为它是由理解它的人组合而成的:-)