相关疑难解决方法(0)

C++中的随机数生成...第一个数字不是很随机

我试图在不使用boost的情况下在C++中获得0到1之间的统一随机数.我不想依赖图书馆.

每当我启动程序时,我都会使用:srand(time(NULL));

然后我打印8个随机数.我用一个空白行分隔程序的不同运行:

Random number: 0.226063
Random number: 0.449186
Random number: 0.474514
Random number: 0.160779
Random number: 0.220868
Random number: 0.136685
Random number: 0.260120
Random number: 0.843334

Random number: 0.226181
Random number: 0.422253
Random number: 0.808594
Random number: 0.040531
Random number: 0.212377
Random number: 0.421073
Random number: 0.965790
Random number: 0.026305

Random number: 0.226306
Random number: 0.526858
Random number: 0.898279
Random number: 0.378934
Random number: 0.736653
Random number: 0.924420
Random number: 0.718503
Random number: 0.888140

Random number: 0.226463
Random number: …
Run Code Online (Sandbox Code Playgroud)

c++ random

7
推荐指数
1
解决办法
3313
查看次数

C++可预测的Rand()输出

在注意到rand()函数每次产生41的相同输出后,我使用srand(time(0))播种了生成器.这解决了重复输出的问题,但现在它给了我不断增加的数字.(IE 245,248,250,253,255,256).我可以理解,由于系统时间的影响,它正在增加,但这是正常的吗?

这是我的计划:

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{

    int number;

    srand(time(0));

    cout << rand() % 1000;

    return 0;

}
Run Code Online (Sandbox Code Playgroud)

我反复运行这个而不是循环.多次试验的输出:285 295 305 311 325 334 344 354 355

c++ random

3
推荐指数
1
解决办法
2928
查看次数

标签 统计

c++ ×2

random ×2