首页 > 解决方案 > 在 Windows 中生成相同的数字,但在 Linux 中不生成

问题描述

我不知道为什么,但在 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;
    }

}

标签: randompseudo-element

解决方案


推荐阅读