小编Mar*_*ler的帖子

rand()和Mersenne Twister C++实现

我需要实现一个好的RNG,我猜Mersenne Twister可能对我有好处.我没有找到任何可行的C++实现,我是一个糟糕的谷歌搜索者还是真的不容易找到?!我以前尝试过rand():

srand((unsigned)time(0));
for (int i = 0; i < 9; i++) {
     random =  rand();
     cout<<random;
}
Run Code Online (Sandbox Code Playgroud)

我不知道为什么,但随机变量总是相同的数字.....但是如果我添加一个Sleep(1000),它的工作原理!像这样:

srand((unsigned)time(0));
for (int i = 0; i < 9; i++) {
    random =  rand();
    cout<<random;
    Sleep(1000);
}
Run Code Online (Sandbox Code Playgroud)

所以我决定尝试Mersenne Twister ......有人能找到一个解决方案(因为我需要找到非常大量的随机数,所以我不能使用Sleep(1000),这需要时代!)或者帮助我实现Mersenne Twister或者也许是另一个好的RNG.谢谢,抱歉我的英语不好......

c++ random

0
推荐指数
1
解决办法
1360
查看次数

标签 统计

c++ ×1

random ×1