random - 在 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;
}
}
解决方案
推荐阅读
- unity3d - 如何在unity3d中制作搜索栏?
- azure - 设备每 65 分钟重新连接到 Azure IoT 中心
- r - 使用ggplot更改构面图中x标签的顺序
- jquery - 响应式菜单 jquery
- c# - 在实体框架中查询外键的填充组合框
- tensorflow - Can we achieve the same computational scaling with tensorflow as we could with MPI?
- dialogflow-es - 在基于 Web 的 Dialogflow 代理中显示丰富的响应
- angular - 如何安全地使用来自 Angular 6 的基本身份验证的休息服务
- java - javax @POST @Consumes 和 @PathParam
- javascript - How do I dynamically sum input values inside a repeatable fields?