0から5までの乱数

乱数を返す関数rand()を使って、0から5のうちから一つランダムで選びたい。

  • 方法1:rand()を6で割った余りを取る。rand()%6
  • 方法2:rand()を6倍してrand()が返す最大値+1で割る。rand()*6/0x10000
  • 方法3:0〜5の間の数が出るまでrand()を繰り返す。

エメラルドの遺伝箇所決定アルゴリズムは方法1、2ではなさそう。
ということは方法3に近い手段を使っている?