偽隨機數的問題

2021-08-29 17:21:35 字數 306 閱讀 3672

c,c++,vb,c#中用的隨機數都是偽隨機數,偽隨機數的乙個問題就是取值分布不均勻。

比如**,如果從100種隨機抽取,如果1和100都是一等獎,但是1和100的出現機率完全不是1%,有可能比1%,也有可能比1%小.

也不知道各種資料庫中的隨機數最終是否也是採用了偽隨機數.

目前如果要分布均勻,一般都是用高斯隨機數演算法,所以各位玩**的同學,如果要公平,還是不要用系統自帶的隨機函式,需要另外自己寫.

如果是遊戲中色子,如果採用偽隨機數的,而且隨機種子相同的,那麼會出現在相同時間點上獲取的兩個隨機值相同的問題.有些遊戲就是這麼被破解的.

隨機數 偽隨機數

隨機數 偽隨機數 rand函式在產生隨機數前,需要系統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一系列隨機數。如果系統提供的種子沒有變化,每次呼叫rand函式生成的偽隨機數序列都是一樣的。srand unsigned seed 通過引數seed改變系統提供的種子值,從而可以使得每次呼...

隨機數生成 偽隨機數和真隨機數

c語言隨機數的生成,很隨機,又不隨機,比如像下面的程式 c語言生成隨機數的函式在stdlib.h庫中 include includeint main return 0 上面的 經過執行生成了 41 18467 6334 26500但是無論執行多好遍結果都是一樣的,隨機數並不隨機。這是因為rand 函...

隨機數 科普 真隨機數和偽隨機數

位元幣使用者很喜歡討論 非對稱加密 橢圓曲線 量子計算機 這類高深莫測的話題,然後再以一種非常莫名其妙的方式把幣弄丟,比如說 隨機 隨機很重要,對於位元幣這種密碼學電子貨幣來說,尤其重要。可惜社群內對於隨機的討論並不多,導致很多人缺乏正確的認識,因此,我們今天就和大家聊聊隨機。說到隨機,有兩個必須要...