隨機數產生原理及應用 再續二

2021-05-11 13:56:53 字數 503 閱讀 5465

在網上找到了乙個產生隨機數的函式,沒有種子。直接就可以用,但有個壞處,就是每次執行結果都一樣。

程式如下:

unsigned int random32(void) ;  

static int init = 1;  

static unsigned long y[55];  

static int j, k;  

unsigned long ul;  

if (init)  

ul = (y[k] += y[j]);  

if (--j < 0) j = 55 - 1;  

if (--k < 0) k = 55 - 1;  

return((unsigned int)ul);  

}  我把結果給截圖了。如下:

生成了10萬個數,居然沒有迴圈出現。還是不錯的。但不知道它的設計原理是什麼。前面那一段x陣列還真了解它的意義。看來還得繼續學習啊。

就寫到這裡吧。。。。。

產生隨機數

先說明一下rand,這個函式用來產生偽隨機數。比如,產生1000的兩個隨機數,產生的兩個一般上是不同的,但如果要產生80個100以內的隨機數,僅用rand函式就不夠。因為產生80個100以內的隨機數,至少有兩個數相等的概率太大了 srand函式,並不能使產生的隨機數完全不同。你可以執行以下這串 in...

隨機數產生

c c 中取隨機數 在計算機中並沒有乙個真正的隨機數發生器,但是可以做到使產生的數字重複率很低,這樣看起來好象是真正的隨機數,實現這一功能的程式叫偽隨機數發生器。有關如何產生隨機數的理論有許多,如果要詳細地討論,需要厚厚的一本書的篇幅。不管用什麼方法實現隨機數發生器,都必須給它提供乙個名為 種子 的...

產生隨機數

一 normrnd r normrnd mu,sigma r normrnd mu,sigma,m,n,r normrnd mu,sigma,m,n,mu sigma可以是向量或矩陣 二者同為矩陣時size要相同 但必須和r的size相同 行 列 r的size可以不指定,也可以用m,n指定 n1 n...