c語言產生隨機數的問題

2022-12-13 06:25:14 字數 655 閱讀 1367

1樓:

直接使用c語言的庫函式srand和rand就可以了,最簡單隨機數發生器就是平均分佈的。

首先使用你金鑰匯出一個整數,假設為i。然後srand(i);

後面不斷呼叫rand就可以了。

所以你採用rand()%32767所產生的隨機數就已經是平均分佈的啦。

2樓:

每次使用srand()設定種子後並非之產生了一個隨機數,而是產生了一個隨機數序列。在設定過一次種子後只要每次呼叫rand()就可以依次得到隨機序列中的隨機數,不需要每次都設定種子。

3樓:追悔七年

int i, n[10];

srand(time(null));

for(i=0; i<10; i++)

這樣生成的隨機數差距很大啊,不會擠在一堆的

4樓:希聲和寡

用下面的演算法試試

srand((unsigned)time(null)+rand()) % 32767;

5樓:匿名使用者

#include

#include

#include

int main(void)

return 0;}

c語言要為產生的隨機數加上權重如在6 18內產生隨機數,6 9出現頻率為25,10 14為50,15 18為

這樣改吧 include include include void main int i,j srand unsigned time null for i 0 i 100 i j rand 100 if j 25 6到10的25 j rand 10 while j 6 j rand 10 else ...

vba 產生不重複的隨機數問題,VBA 產生不重複的隨機數問題

產生20個1 100之間的不重複隨機數 public sub rndnumbernorepeat1 dim rndnumber,temp 20 i,k,maxrec as integer randomize timer 初始化隨機數生成器 maxrec 100 從a21開始輸出隨機數 k 0 do ...

Excel產生隨機數,EXCEL如何產生隨機數?

好像沒有a80000吧,應該只有a65536,你再看看。至於隨機數,在a1中輸入 rand 回車,按住十字下拉就可以了。如果要是隨機數是一位數,則在a1中輸入 int rand 10 回車,兩位數,將10換成100,以此類推。首先輸入等於randbetween 函式,然後輸入需要生成的欄位,在輸入需...