uniformC++11

[機能]

  一様分布乱数を生成します.

[形式]
#include <random>
		// 一様整数分布
template <class IntType = int> class uniform_int_distribution;
		// 一様実数分布
template <class RealType = double> class uniform_real_distribution;		

[使用例]

  1. uniform_int_distribution と uniform_real_distribution の使用方法です.
    #include <iostream>
    #include <random>
    
    using namespace std;
    
    int main()
    {
    			// 乱数の初期設定
    	random_device sd;   // 予測不能な乱数生成器(class),初期設定のために使用
    	mt19937 rnd(sd());   // 乱数生成期の定義とその初期設定
    			// uniform_int_distribution
    	uniform_int_distribution<> uniform_i(0, 100);   // コンストラクタ
    	cout << "一様整数分布 : [" << uniform_i.min() << ", " << uniform_i.max() << "]\n";
    	for (int i1 = 0; i1 < 10; i1++)
    		cout << "  " << uniform_i(rnd) << endl;
    			// uniform_real_distribution
    	uniform_real_distribution<> uniform_r(0, 1.0);   // コンストラクタ
    	cout << "一様実数分布 : [" << uniform_r.min() << ", " << uniform_r.max() << ")\n";
    	for (int i1 = 0; i1 < 10; i1++)
    		cout << "  " << uniform_r(rnd) << endl;
    
    	return 0;
    }
    			
    (出力)
    一様整数分布 : [0, 100]
      56
      73
      35
      92
      0
      60
      88
      52
      96
      98
    一様実数分布 : [0, 1)
      0.661561
      0.528652
      0.788493
      0.0741007
      0.32985
      0.583744
      0.0309722
      0.928593
      0.0197524
      0.779372
    			
[参照]

mt19937samplingBernoulliPoissonnormal

菅沼ホーム 本文目次 演習問題解答例 付録目次 索引