date: 2018.5.11
srand 初始隨機數發生器
rand 隨機數發生器
注意
在c++中,當srand中的引數相同(即隨機數種子相同)時,則產生的偽隨機數列也相同
關係:
srand函式用於為rand函式產生隨機數種子
使用:
通常用time(null)作為srand函式的傳入引數;
當使用time(null)作為srand函式的傳入引數時,rand函式則以時間作為隨機數種子進而產生隨機數
技巧 1:
若要產生指定範圍內的隨機整數例如[a, b)則可以使用: a + rand() % (b - a) 表示式,也即為要產生 [a, b)範圍內的隨機整數,可以使用 a + rand() % n 表示式,其中 a 為起始值, n 為隨機整數取值範圍的大小即為 b - a
技巧 1 解釋:
使用 rand() % n 產生的是 [0, n)之間的隨機整數,則在此基礎上進行改進,加上乙個起始值 a 則產生隨機整數的範圍變為 [a, n + a),那麼要產生[a, b)內的隨機整數,則只需要將n變為 b - a
技巧 2 :
如要產生隨機小數,直接將產生的隨機整數除以相應次數的10,例:若產生3位的隨機小數,則先產生隨機整數,然後除以1000即可
參考:
C C 產生隨機數
c c 產生隨機數 c c 產生隨機數用到兩個函式rand 和 srand 一.不指定範圍產生隨機數 用到函式rand 函式原型為int rand 無引數。此時會產生乙個介於0 rand max間的整數。rand max的大小可以檢視,在include資料夾 linux在usr目錄 windows在...
C C 產生隨機數
c c 產生隨機數用到兩個函式rand 和 srand 一.不指定範圍產生隨機數 用到函式rand 函式原型為int rand 無引數。此時會產生乙個介於0 rand max間的整數。rand max的大小可以檢視,在include資料夾 linux在usr目錄 windows在安裝目錄 的stdl...
C C 產生隨機數
c c 產生隨機數用到兩個函式rand 和 srand 一.不指定範圍產生隨機數 用到函式rand 函式原型為int rand 無引數。此時會產生乙個介於0 rand max間的整數。rand max的大小可以檢視,在include資料夾 linux在usr目錄 windows在安裝目錄 的stdl...