關於隨機數

2021-04-12 12:52:27 字數 679 閱讀 3656

昨天去網易筆試,最後一道題實在沒有時間寫了,大概題目這樣的:

床前明月_ ,疑是地_霜,舉頭望_月,低頭思故_。

a.光 上 明 鄉

b.上 明 鄉 光

c.鄉 上 明 光

d.光 鄉 上 明

請你編寫一函式,隨機扣掉每一句的乙個字,然後生成3個錯誤選項,乙個正確選項,選項的字必須是詩裡所缺的字。請寫出資料結構,演算法。

好像要用到隨機函式rand(),srand(),查了一下他們的用法:

srand()

是用來初始化隨機種子數的,因為rand的內部實現是用線性同餘法做的,他不是真的隨機數,只不過是因為其週期特別長,所以有一定的範圍裡可看成是隨機的,式子如下 rand = rand*const_1 + c_var;srand函式就是給它的第乙個rand值。

用 int x = rand() % 100;來生成 0 到 100 之間的隨機數這種方法是不或取的,比較好的做法是: j=(int)(n*rand()/(rand_max+1.0))  // 產生乙個0到n之間的隨機數

rand_max定義在stdlib.h,其值為2147483647

此範例未設隨機數種子,並不是真正意義上的隨機數:

#include /*產生1~~~10之間的隨機數*/

#include

#include

main() }

關於隨機數

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

關於隨機數!

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

關於隨機數

隨機數在現代社會應用不可謂少,我們可以在每天用到的手機驗證碼,網上博彩,網上鬥地主等等 中看到隨機數的影子下面是自己定義的線性求同法求隨機數 public class myrandom public intnext 線性同餘法 因為是線性,這種方法輸入相同種子每次輸出都是一樣的結果 所以我們要給他加...