邢臺疫情最新進展網(wǎng)站關(guān)鍵詞優(yōu)化報價
????????使用std::default_random_engine可生成不同分布的隨機數(shù),下面使用實例來說明其使用。
隨機生成0-1間的實數(shù)
//利用當(dāng)前時間生成的種子,可保證每次生成的值都不一樣
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::default_random_engine generator(seed);
std::uniform_real_distribution<double> distribute(0.0, 1.0);//不包含1.0
double v = distribute(generator);//得到0-1間的數(shù)值
隨機生成min-max間的正整數(shù)
//利用當(dāng)前時間生成的種子,可保證每次生成的值都不一樣
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::default_random_engine generator(seed);
int min = 0,max = 100;
std::uniform_int_distribution<int> distribute(min, max);//包含max
int v = distribute(generator);
隨機生成正態(tài)分布值
正態(tài)分布的均值為10,標準差為10:
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::default_random_engine generator (seed);
std::normal_distribution<double> distribution(10,10);
double v = distribution(generator)
此外還可生成伯努利分布,泊松分布等分布的隨機值