アプリ版:「スタンプのみでお礼する」機能のリリースについて

a=rnd();
を実行すると、1~32767の数値がランダムにでます。

これを整数で1~100の数値がランダムに出るようにしたいのですが、何かいい方法がありましたら教えてください。

A 回答 (2件)

1.得られた乱数を 100で割った余り + 1 を使う。


  問題点。もともと、32768 ~ 32799 が出ないので、69以上の出現率がちょっと減るかもしれない

2.得られた乱数が、1~100かどうかチェックして、範囲に入っていれば、それを使う。
  入ってなければ、もう一度乱数を取得する。
  問題点→かなり無駄な乱数が出るので、時間がかかるかも
     →乱数の最下位桁にはバラツキがある場合があるので、問題かも。

3.得られた乱数を10で割った後、2のチェックを行う。
  問題点→ 2.と同じ。もしかしたら時間がかかるかも。
       乱数の質はかなりいい気がする(未確認)

4.乱数を2個生成して、それぞれの10の位の数字(トータルで2個)を、最終結果とする。
  結果は、0 ~ 99 なので、+1することが必要。

こんなところか。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2011/11/30 12:45
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2011/11/30 12:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!