C 各種產生偽隨機數的問題

2021-03-31 20:08:58 字數 865 閱讀 8184

1. 基本問題,怎麼產生乙個[0..100]的隨機數 #include

#include

#include

int main() 雖然這是乙個偽隨機數序列,我做了實驗,在10000個樣本下,離10.00%的均勻分布有點距離,在100萬個樣本下已經非常好了。使用標準c++。 2. 怎麼隨機產生乙個有6位數字的字串(比如做密碼、驗證碼用)? 這有兩個方法: char password[7]; int i,j; srand(time(0)); for(i=0;i<6;i++) password[6]=''; 另乙個方法: int password; int i,j; srand(time(0)); for(i=0;i<6;i++) //然後把int password轉換城字串就行了 cout<

<

#include

#include

#include

int main() 4. 再來乙個,如何產生符合正態分佈的隨機數: /*一般有兩種演算法: 演算法一產生12個(0,1)平均分布的隨機函式,用大數定理可以模擬出正態分佈。 演算法二用到了數學中的雅可比變換,直接生成正態分佈,但此演算法在計算很大規模的數時 會出現溢位錯誤。 測試程式:*/ #include

#include

#include

#include

#include

double _random(void) double _sta(double mu,double sigma) for(i=1;i<=12;i++) sum = sum + _random(); r=(sum-6.00)*sigma+mu; return r; } double _sta2(double mu,double sigma) int main()

C 產生各種隨機數

本部落格主要內容包括 1.rand 函式 2.std庫的default random eigine類 3.opencv庫。include srand unsigned int time 0 隨機種子,不要寫在迴圈體中 int a rand 100 產生 0,100 的int型隨機數 float f ...

MATLAB產生偽隨機數

p haltonset d 構造乙個d 維點集p,這是haltonset具有預設屬性設定的。輸入引數d是p的維數。p haltonset d,name,value 集特性的p使用乙個或多個名稱值對引數。將每個屬性名稱括在引號中。例如,haltonset 5,leap 3 從第一點 第四點 第七點 第...

c 產生隨機數問題

對於產生隨機數的種子,一定要放在最外層函式,因為種子必須只有乙個,也就是說如果你要產生n個隨機數,也只需要乙個種子,即srand time 0 先舉個簡單的例子 define divisor 100 int mian int number 100 srand time 0 一定要放在最外邊,不能放在...