1. 程式人生 > >C++11 Random庫隨機數

C++11 Random庫隨機數

Random隨機數生成

下面程式碼演示使用c++11的random庫進行隨機數的生成

#include <iostream>
#include <random>
using namespace std;

int main()
{
    std::mt19937 rng;
    rng.seed(std::random_device()());
    std::uniform_int_distribution<std::mt19937::result_type> dist6(1, 6);
    std::cout << dist6(rng) << std
::endl; std::uniform_real_distribution<double> distribution(-1, 1); std::cout << distribution(rng) << std::endl; return 0; }

初始化隨機種子

std::mt19937 rng;
rng.seed(std::random_device()());

建立一個均勻分佈,這個均勻分佈可以等概率(隨機)生成[1, 6]區間的整形數字;

std::uniform_int_distribution<std
::mt19937::result_type> dist6(1, 6);

也可以直接寫成

std::uniform_int_distribution<int> dist6(1, 6);

建立一個均勻分佈,隨機(等概率)生成在(-1, 1)之間的小數;

std::uniform_real_distribution<double> distribution(-1, 1);

更多資訊看參考連結

參考連結