关于随机数

随机数一直让我很头疼,但是这玩意却很有用,所以就想来总结看看有几种产生随机数的方法。

C语言:

在包含了<time.h>头文件后,

srand(time(0));

int a =rand();

这样输出的a就是一个随机数。但据说是伪随机数,其中还是有一定规律的,但是我不懂...至少现在不懂。

额外说一句,由于随机数会很大,不利于使用,所以可以用取余限定范围,比如x%100的结果就是[0,n-1]。

C++:

同样需要额外包含<time.h>。

srand(time(NULL));

int a=rand();

当然了,如果想要限定范围在(high和low之间),如下:

int a = rand() % (high - low + 1) + low;

好像就这么多了...有啥新的再补吧qwq

2018-10-19

----------------------------------------------------------------------

2018-10-25

我发现想实现随机数,仅有<time.h>的头文件是不够的,还需要<stdlib.h>的头文件。

也就是说正确的形式是:

#include <iostream>

#include <time.h>

#include <stdib.h>

srand(time(NULL));

int a=rand();

<stdib.h>中定义了srand和rand,表示随机取值。如果没有这个头文件,在编译时会报错,即srand和rand没有被定义;

<time.h>是为了定义time(NULL),用于生成伪随机数。

顺便实验以下如果我重新编辑博客,它的日期会不会变,嘻嘻。

原文地址:https://www.cnblogs.com/luoyang0515/p/9817475.html