乱数を発生する例題です。
[0..max] の実数値を発生しています。
実数における一様乱数として最もよく用いられるのは 0..1 の範囲の一様乱数ですが、その乱数に max の値を掛ければ 0..max の区間の実数値を得ることができます。
rand() 関数は、0..RAND_MAX(コンパイラ等により異なる)の範囲の整数を発生するため、RAND_MAX 個の乱数を max の範囲に分散させることになり、乱数ごとの間隔は max/RAND_MAX になります。
OSX/gcc の RAND_MAX は以下の実行例のように、2147483647 となっています。
乱数を発生させるためにはシード値を設定しなければなりませんが、同じシード値を利用すると毎回同じ乱数列が取得されます(ソース上では、idum 変数)。
実行結果
2011年3月13日日曜日
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿