rand srand產生偽隨機數方法總結

2022-05-30 20:12:08 字數 763 閱讀 7965

標準庫(被包含於)提供兩個生成偽隨機數的函式。

函式一:int rand(void);// 整數型 取隨機數()

從srand()中指定的seed開始,返回乙個[seed,rand_max(0x7fff)]間的隨機整數

函式二:void srand(unsigned seed);//置隨機數種子

引數seed是rand()的種子,用於初始化rand()的起始值。

rand()呼叫步驟:

(1)若有srand(seed) ,seed是乙個定值時,rand()產生的值都會一樣;seed不是定值每次程式執行rand()產生的值不一樣。

(2)沒有 會自動呼叫srand(1)一次。

例項:1,不指定seed

for(int i=0;i<10;++i){

cout《每次執行輸出:1 7 4 0 9 4 8 8 2 4

2,指定seed為定值1:

srand(1);

for(int i=0;i<10;++i){

cout《每次執行輸出:1 7 4 0 9 4 8 8 2 4

3,指定seed為當前系統時間時:time(0)它返回從2023年1月1日零時零分零秒到目前為止所經過的時間,單位為秒。

srand(time(0));

for(int i=0;i<10;++i){

cout《每次執行輸出不同。

若返回隨機浮點數:用rand()/double(rand_max)可以取得0~1之間的浮點數(注意,不同於整型時候的公式,是除以,不是求模)

C C 中產生隨機數 rand,srand用法

計算機的隨機數都是由偽隨機數,即是由小m多項式序列生成的,其中產生每個小序列都有乙個初始值,即隨機種子。注意 小m多項式序列的週期是65535,即每次利用乙個隨機種子生成的隨機數的週期是65535,當你取得65535個隨機數後它們又重複出現了。我們知道rand 函式可以用來產生隨機數,但是這不是真正...

C C 中產生隨機數 rand,srand用法

計算機的隨機數都是由偽隨機數,即是由小m多項式序列生成的,其中產生每個小序列都有乙個初始值,即隨機種子。注意 小m多項式序列的週期是65535,即每次利用乙個隨機種子生成的隨機數的週期是65535,當你取得65535個隨機數後它們又重複出現了。我們知道rand 函式可以用來產生隨機數,但是這不是真正...

C C 中產生隨機數 rand,srand用法

計算機的隨機數都是由偽隨機數,即是由小m多項式序列生成的,其中產生每個小序列都有乙個初始值,即隨機種子。注意 小m多項式序列的週期是65535,即每次利用乙個隨機種子生成的隨機數的週期是65535,當你取得65535個隨機數後它們又重複出現了。我們知道rand 函式可以用來產生隨機數,但是這不是真正...