僞隨機數的生成

 

許多編程語言提供了“僞隨機數”生成函數,其實不是隨機的。

C語言編寫一個程序,生成10個(01)區間的隨機數,

讓同一程序執行多次,可以看到每次產生的隨機數都是重複。

 

 

 

    C語言裏面rand()函數可以用來產生隨機數,但是這不是真正意義上的隨機數,是一個僞隨機數,是根據一個數,可以稱它爲種,爲基準以某個遞推公式推算出來的一系列數,當這系列數很大的時候,就符合正態公佈,從而相當於產生了隨機數,但這不是真正的隨機數,當計算機正常開機後,這個種子的值是定了的,除非你破壞了系統,爲了改變這個種子的值,C提供了 srand()函數,它的原形是void srand( int a) 功能是初始化隨機產生器既rand()函數的初始值,即使把種子的值改成a; 從這就可以看到通過sand()函數產生可以預見的隨機序列。


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章