关于随机数的产生,有以下说明。
(1) 需要
#include <cstdlib>
(2) 需要向随机数函数指定生成随机数的seed,一般采用时间作为seed
#include <ctime>
...
srand(time(NULL));
或
srand(time(0))
(3) 可以通过如下方式指定随机数的产生范围
1. 产生[a, b)的随机整数
(rand() % (b - a)) + a
2. 产生[a, b]的随机整数
(rand() % (b - a + 1)) + a
3.产生(a, b]的随机整数
(rand() % (b - a)) + a + 1
4. 通用公式
a + rand() % n
(a是初始值,n是范围)
5. 另一种表述
a + (int) b * rand() / (RAND_MAX + 1)
6. 0~1之间浮点数
rand() / double(RAND_MAX)