mt19937 當你第一眼看到這玩意兒的時候 肯定禁不住吐槽:納尼?這是什麼鬼? 確實,這個東西鮮為人知,但是它卻有著卓越的性能 簡介 mt19937是c++11中加入的新特性 它是一種隨機數演算法,用法與rand()函數類似 但是具有速度快,周期長的特點(它的名字便來自周期長度:2^19937 1) ...
mt19937
當你第一眼看到這玩意兒的時候
肯定禁不住吐槽:納尼?這是什麼鬼?
確實,這個東西鮮為人知,但是它卻有著卓越的性能
簡介
mt19937是c++11中加入的新特性
它是一種隨機數演算法,用法與rand()函數類似
但是具有速度快,周期長的特點(它的名字便來自周期長度:2^19937-1)
說的直白一點,我們都知道rand()在windows下生成的數據範圍為0-32767
但是這個函數的隨機範圍大概在\((-maxint,+maxint)\)(maxint為int類型最大值)
實例
這個東西用法非常簡單
#include<random>
#include<ctime>
std::mt19937 rnd(time(0));
int main()
{
printf("%lld\n",rnd());
return 0;
}