C C 系列 隨機數產生方法

2021-08-19 20:17:08 字數 715 閱讀 3881

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...