> > あーこんなの忘れてた > > 「1 と 10 の間の乱数を生成したいのであれば、常に > > j=1+(int) (10.0*rand()/(RAND_MAX+1.0)); > > のように上位ビットを用いること。 > > j=1+(rand() % 10); > > のような、下位のビットを用いるような方法は決してしないこと。」 > 古い実装での話じゃないの? 合同法乱数だと上位はランダムで下位はそうじゃない アルゴリズム辞典参照するけど irnd() % 4じゃあ一様な乱数は取得できないので irnd() >> 29する 参考:2005/05/29(日)11時24分41秒