C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

確率分布関数を使用して乱数を生成するC++プログラム


確率密度関数(pdf)は、この確率変数が特定の値をとる相対的な尤度を表す関数です。連続確率変数の密度とも呼ばれます。

確率変数が特定の値の範囲内に入る確率は、その範囲でのこの変数の密度の積分によって与えられます。したがって、密度関数の下で、水平軸より上で、最小値と最大値の間の領域によって与えられます。範囲の。確率分布は、この確率密度関数に基づいています。

アルゴリズム

宣言の開始npdf=0の割り当てi=0からnの場合、pdf =rand()mod200を実行します。pdfが360より大きい場合は1を印刷します。pdfが0未満の場合は印刷します。 / pre> 

サンプルコード

 #include  using namespace std; int n =6; int main(int argc、char ** argv){int pdf =0; for(int i =0; i  360)cout <<1 <<""; else if(pdf <0)cout <<0 <<""; else cout < 

出力

 0.0508333 0.0238889 0.0491667 0.0319444 0.0536111 0.0375 ... 

  1. 安全な乱数を生成するC#プログラム

    安全な乱数を得るには、RNGCryptoServiceProviderクラスを使用します。暗号化乱数ジェネレーターを実装しています。 同じクラスを使用して、次の-を使用していくつかのランダムな値を見つけました using (RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider()) {    byte[] val = new byte[6];    crypto.GetBytes(val);    randomvalue = BitConverter.ToInt

  2. Pythonで疑似乱数を生成する

    多くのコンピュータアプリケーションでは、乱数を生成する必要があります。ただし、それらのいずれも真に乱数を生成しません。 Pythonは、他のプログラミング手法と同様に、疑似ランダムジェネレーターを使用します。 Pythonのランダム生成は、53ビットの精度のフロートを生成するメルセンヌツイスターアルゴリズムに基づいています。この手法は高速でスレッドセーフですが、暗号化の目的には適していません。 Pythonの標準ライブラリには、ランダム化を処理するためのさまざまな関数を定義するランダムモジュールが含まれています。 random.seed() −この関数は、乱数ジェネレーターを初期化します