モンテカルロ シミュレーション用に一様に分布した乱数を生成する必要があります。私はこのスレッドRandom double C++11を読み、提案に従いましたが、コード ブロックでプログラムを実行するたびに同じ番号を取得しています。これが私のコードです:
#include <iostream>
#include <random>
int main(){
std::random_device rd; // use random_device to get a random seed
std::mt19937 mt(rd()); // mt19937 is a proper pseudo-random number generator
std::uniform_real_distribution<double> unif(0,1); // generate uniformly distributed random doubles in [0,1]
double x = unif(mt);
std::cout << x << std::endl;
}
なぜそれが起こるのか?