随机数一直让我很头疼,但是这玩意却很有用,所以就想来总结看看有几种产生随机数的方法。
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),用于生成伪随机数。
顺便实验以下如果我重新编辑博客,它的日期会不会变,嘻嘻。