<random>在Windows中生成相同的数字,但在Linux中不生成

时间:2018-07-13 12:17:59

标签: random pseudo-element

我不为什么,但是在Windows(使用MinGW)中,此代码会生成3/4次相同的伪随机数。 我认为这是因为我设置的种子不好,但是我无法纠正它。

谢谢您的帮助。

这里是代码:

#include <iostream>
#include <random>
#include <chrono>

int main()
{   

double Nprove = 50.0;
double p = 0.2;  
const int Ncampioni = 100; // number of samples

int cappa = 0;
double sample[Ncampioni];

unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();

std::mt19937 gen(seed);
std::binomial_distribution<> d(Nprove, 0.9);

for(cappa = 0; cappa < Ncampioni; cappa = cappa +1){ 
    sample[cappa] = d(gen);
    std::cout << cappa << "," << sample[cappa] << std::endl;
    }

}

0 个答案:

没有答案