C Style (srand, rand)
缺点:srand(time(0)) 在较短时间间隔内不会改变。
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
srand(time(0));
for (int i = 0; i < 10; i++) {
cout << rand() << endl;
}
return 0;
}
1318042169 215619879 272650 607238762 43966714 1763422509 1703932261 1548025279 1025366738 1664469656
C++11 <random>
如果想要生成浮点随机数,可将第10行uniform_int_distribution 换位uniform_int_distribution ,int 换为double 。
然而并不常用……
#include <iostream>
#include <random>
using namespace std;
int main() {
mt19937 rng;
rng.seed(random_device()());
uniform_int_distribution<int> dist6(1, 1e6);
for (int i = 0; i < 10; i++) {
cout << dist6(rng) << endl;
}
return 0;
}
586472 666710 433629 366199 589288 233130 126209 308218 689267 733495
暂时只知道了这两种。
本作品使用基于以下许可授权:Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.