随机数

随机数是c++必不可少的技巧,(特别是在做游戏时)

随机数生成有两种办法

第一种

通过计时器实现:

int numsj = rand() % ( 随机范围 ( 0 ~ n-1 ) ) + 50;

rand() 详情请见:

不过这种方法的缺点有点多,只能随机 00 ~ n1n-1 的数,随机性不高,一秒随机一次,不够平均

第二种

通过随机数函数实现:

int numsj(){
	random_device rd;
    mt19937 gen(rd());
    uniform_int_distribution<> dist(起始随机范围, 终止随机范围);
    return dist(gen);
} 

这种方法比第一种好用多了,不过会复杂一点

原文

# 随机数

随机数是c++==必不可少==的技巧,~~(特别是在做游戏时)~~

随机数生成有两种办法

## 第一种

**通过==计时器==实现:**

    ```
    int numsj = rand() % ( 随机范围 ( 0 ~ n-1 ) ) + 50;
    ```
**rand() 详情请见:**

不过这种方法的==缺点==有点多,只能随机 $0~n-1$ 的数,随机性不高,==一秒==随机一次,==不够平均==

## 第二种

**通过==随机数函数==实现:**
    ```
int numsj(){
	random_device rd;
    mt19937 gen(rd());
    uniform_int_distribution<> dist(起始随机范围, 终止随机范围);
    return dist(gen);
} 
    ```
这种方法比第一种==好用多了==,不过会==复杂==一点