伪随机数生成器,用于c++应用程序

Pseudo-random number generator for c++ application

本文关键字:c++ 应用程序 用于 随机数生成器      更新时间:2023-10-16

我需要一个c++应用程序的伪随机数生成器,它将在每次执行应用程序时在数字间隔[0,20]内返回相同的值。当应用程序运行时,请求在循环中应用。出于调试的原因,我需要一个确定的数字序列。

提前感谢您

rand的输出是伪随机的,这意味着它看起来是有效随机的,但每次都以相同的方式计算,从一个称为种子的特殊值开始。使用相同的种子值,您将得到相同的随机数序列。

要设置不同的种子,在开始生成随机数之前,在代码中使用一次标准C函数void srand(unsigned int)

还可以看一下:

    c++随机函数返回相同的数字为什么我得到相同的结果与rand()每次我编译和运行?
  • rand函数在单个函数中调用时返回相同的值
  • rand()生成相同的数字

您只需要每次对随机函数使用相同的种子。例如:

#include <stdlib.h>
#include <stdio.h>
int main ()
{
  const int seed = 3;
  /* initialize seed, with the same seed each time: */
  srand (seed);
  printf ("%d %d %dn", rand()%20, rand()%20, rand()%20);
  return 0;
}

因此,每次都将得到相同的序列。

为随机数生成器植入已知值,即srand(42)(生命的意义)

则使用rand

http://linux.die.net/man/3/rand

进入理想范围的数学