隨機數生成與恢復

2021-07-05 11:07:33 字數 635 閱讀 9175

srand函式是

隨機數發生器的

初始化函式。原型:

void

srand(unsigned int seed)

;srand和rand()配合使用產生偽隨機數序列。rand函式在產生隨機數前,需要系統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一系列隨機數。如果系統提供的種子沒有變化,每次呼叫rand函式生成的偽隨機數序列都是一樣的。srand(unsigned seed)通過引數seed改變系統提供的種子值,從而可以使得每次呼叫rand函式生成的偽隨機數序列不同,從而實現真正意義上的「隨機」。通常可以利用系統時間來改變系統的種子值,即srand(time(null)),可以為rand函式提供不同的種子值,進而產生不同的隨機數序列。

void shuffle(int a, size_t n, unsigned int seed)//陣列打亂

}

void restore(int a, size_t n, unsigned int seed)//陣列恢復

int tmp = a[i];

a[i] = a[r];

i++;

a[r] = tmp;

}}

程式生成隨機數與SQL語句生成隨機數

隨機數可以通過程式生成,也可以通過sql語句生成。通過程式生成隨機數時一般採用硬體的編號 時間作為種子,這種方法在瞬間插入資料庫n條資料的時候會影響隨機數的效果,生成很多相鄰的插入值相同。所以頻繁插入時可以使用sql語句的內建函式生成隨機數,可以避免此類事情發生。demo c int min 0,m...

隨機生成隨機數

現畫乙個command命令按鈕,進行貼上。private sub command1 click show me scale 0,0 18,8 me.auto redraw true me.draw mode 2 circle 3,4 3,vb red me.auto redraw false lin...

隨機數生成

原型 void srand unsigned seed 用法 srand和rand 配合使用產生偽隨機數序列。rand函式在產生隨機數前,需要系統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一系列隨機數。如果系統提供的種子沒有變化,每次呼叫rand函式生成的偽隨機數序列都是一樣的。sr...