取扱説明書をよく読んで使用しましょう。
例えばこことか
http://www.cplusplus.com/reference/
まだまだ勉強が足りませんorz
確率に応じてboolを返す。その2
探したら普通にありましたorz
std::bernoulli_distributionというクラスです。使い方は以下の通り。確率0.2でtrueを返します。
std::mt19937 random; std::bernoulli_distribution bd( 0.2 ); for( int i = 0; i < 100000; ++i ){ if( bd( random ) ){ count[0]++; }else{ count[1]++; } } std::cout << "true = " << count[0] << std::endl; std::cout << "false = " << count[1] << std::endl;
コンストラクタで確率を入れて、operator()でboolが帰ってきます。
ちなみにベルヌーイ分布っていうんですね。初めて知りましたorz