C 隨機函式 rand srand

2021-08-19 07:24:38 字數 974 閱讀 6126

rand():

rand()是用線性同餘法實現的,因此不是真的隨機數,但因其週期特別長,故在一定

的範圍裡可看成是隨機的。

rand()返回一隨機數值的範圍在0至rand_max 間。rand_max的範圍最少是在32767之間(int)。用

unsigned int 雙位元組是65535,四位元組是4294967295的整數範圍。0~rand_max每個數字被選中

的機率是相同的。     

使用者未設定隨機數種子時,系統預設的隨機數種子為1。

rand()產生的是偽隨機數字,每次執行時是相同的;若要不同,用函式srand()初始化它。

srand():

srand()用來設定rand()產生隨機數時的隨機數種子。

引數seed必須是個整數,通常可以利用time(0)的返回值或null來當做seed。

如果每次seed都設相同值,rand()所產生的隨機數值每次就會一樣。

rand()和srand()的關係:

rand()和srand()要一起使用,其中srand()用來初始化隨機數種子,rand()用來產生隨機數。

因為預設情況下隨機數種子為1,而相同的隨機數種子產生的隨機數是一樣的,失去了隨機性的意義,所以為使每次得到的隨機數不一樣,用函式srand()初始化隨機數種子。srand()的引數,用time函式值(即當前時間),因為兩次呼叫rand()函式的時間通常是不同的,這樣就可以保證隨機性了。

(摘自:

#include #include #include using namespace std;

int main()

return 0;

}

C 隨機函式rand srand

標頭檔案 include int rand 產生的隨機數範圍是0 65536,型別為unsigned int。rand 函式不接受引數,預設以1為種子 即起始值 srand 函式用來初始化隨機數發生器,void srand unsigned int seed 引數 seed是整數,seed相同,ra...

隨機函式rand srand

一 隨機函式 產生數的函式,庫函式中系統提供了兩個函式用於產生隨機數 srand 和rand 二 偽隨機數 偽隨機數是在一定的數值範圍內,由隨機種子採用一定的演算法計算出來乙個數字做為結果顯示,盡量保證演算法公平使得產生的結果接近隨機數。其實rand srand是通過設定乙個隨機種子 數值形式 用來...

隨機數函式rand srand

1.rand 功能 隨機數發生器 用法 int rand void 所在標頭檔案 stdlib.h rand 的內部實現是用線性同餘法做的,它不是真的隨機數,因其週期特別長,故在一定的範圍裡可看成是隨機的。include include include using namespace std int...