隨機數問題

2021-05-25 11:09:57 字數 1186 閱讀 3937

要產生真正的隨機數還是有難度的!好在vc中提供有隨機數函式,rand()函式。msdn中定義如下:

#include

#include

#include

void main( void )

int i;  

/* seed the random-number generator with current time so that    * the numbers will be different every time we             run.    */

srand( (unsigned)time( null ) );   /* display 10 numbers. */   for( i = 0;   i < 10;i++ )     

printf( "  %6d/n",rand() );

產生0 1**

#include

#include

#include

using namespace std;

#define max 10

int main()

int out;

srand((unsigned)time(null));//時間函式作為種子。程式執行一次和下一次執行,時間函式是不一樣的,所以結果不一樣。

//但是如果程式執行多篇,結果哦就是一樣的了!看樣子還得matlab解決了!

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

if(rand()%max>4)

out=1;

else

out=0;

cout

這是沒有問題的,但要產生10個種群,也就是10個產生為12的群體時,就發現不行了!

#include

#include

#include

using namespace std;

#define max 10

int main()

int out;

for(int j=0;j<10;j++)

srand((unsigned)time(null));

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

if(rand()%max>4)

out=1;

else

out=0;

cout

結果10個一樣的長度為12的個體!

隨機數 簡學 隨機數問題

隨機是概率論用語,指事前不可預言的,即在相同條件下重複進行試驗,每次結果未必相同,或知道事物過去的狀況,但未來的發展卻不能完全肯定,隨機也有 真隨機 與 偽隨機 真隨機 比如量子力學,因為乙個放射性物質原子下一分鐘是否發生衰變是真正隨機的,不可預言的 偽隨機 由經過系統的不同的因素造成,或是由於忽略...

隨機數問題

1 隨機數問題 希望掉落2或者4。1 使用std time 函式取得乙個每次都不一樣的時間作為種子數值 2 使用std srand 函式設定這個種子數值初始化隨機數發生器 3 使用std rand 函式根據我們所需要縮放的範圍進行取餘處理製造我們所需要的隨機數 1.1std time 函式 傳入nu...

隨機數 偽隨機數

隨機數 偽隨機數 rand函式在產生隨機數前,需要系統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一系列隨機數。如果系統提供的種子沒有變化,每次呼叫rand函式生成的偽隨機數序列都是一樣的。srand unsigned seed 通過引數seed改變系統提供的種子值,從而可以使得每次呼...