關於隨機數

2022-07-15 02:00:13 字數 950 閱讀 5771

隨機數在現代社會應用不可謂少,我們可以在每天用到的手機驗證碼,網上博彩,網上鬥地主等等 中看到隨機數的影子
下面是自己定義的線性求同法求隨機數

public

class

myrandom

public

intnext()

}

線性同餘法

因為是線性,這種方法輸入相同種子每次輸出都是一樣的結果

所以我們要給他加入乙個可變引數來控制這個隨機數

在客戶端加入系統啟動後經過時間的毫秒數  int tc = environment.tickcount;

int tc =environment.tickcount;

console.writeline(

"tickcount=

" +tc);

//myrandom mr = new myrandom(5);

myrandom mr = new

myrandom(tc);

for (int i = 0; i < 100; i++)

console.readkey();

view code

這種就好了很多,c#內部random方法也是用的這種方法,

但是現在的**大多都支援多使用者併發操作。

所以,相同時間多個使用者操作時會獲得相同隨機數,這就增加了**的不穩定性

這時我們需要考慮用多個值來約束這個隨機數,c#給出的解決方案是

byte randombytes = new

byte[3

]; rngcryptoserviceprovider r =

newrngcryptoserviceprovider();

for (int i = 0; i < 100; i++)

console.readline();

關於隨機數

昨天去網易筆試,最後一道題實在沒有時間寫了,大概題目這樣的 床前明月 疑是地 霜,舉頭望 月,低頭思故 a.光 上 明 鄉 b.上 明 鄉 光 c.鄉 上 明 光 d.光 鄉 上 明 請你編寫一函式,隨機扣掉每一句的乙個字,然後生成3個錯誤選項,乙個正確選項,選項的字必須是詩裡所缺的字。請寫出資料結...

關於隨機數

一般來說隨機數在系統中用於生成對稱金鑰,所以隨機數在安全中的地位至關重要,由於系統或者硬體的因素,生成真實的隨機數存在著效能上的問題,對於服務端來說,一次生成大量的真隨機數比較困難,實際應用中都是把真隨機數作為種子 隨機數生成演算法生成大量的隨機數,稱為偽隨機數。為了保證偽隨機數的安全性,防止被 對...

關於隨機數!

1 眾所周知,c語言的隨機函式 rand 每次執行的結果是一樣的。如下 那麼就需要設定隨機種子了,srand gettickcount 如下 2 從指定佇列取n個隨機數 借助stl的函式可以完成。templatevoid random shuffle randomaccessiterator fir...