[過去ログ] 【初心者】課題をクリアしていくスレ【講習会】 (787レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
701: 名前は開発中のものです。 [sage] 2008/04/17(木) 23:00:01 ID:xfcPWlW/(1) AAS
1〜100までの数が書かれた玉が1個ずつ入った箱から、玉を取り出す場合は、どの数が出てくる確率も同じだけど、
1〜100までの数が書かれた玉が1個ずつ入っていて、さらに1〜10の玉を箱の中に追加したら確率が変わる。
そういうことだな。
で、余分に入れちゃった1〜10を取り除く処理が必要というわけだ。
rand()から得られる乱数範囲 : 0〜65535
取得したい乱数範囲 : 0〜99
の場合、0〜99が同じ確率で得られるように
65535 - (65535 % 100) = 65500
を超えた部分は捨てる
つまり、rand()の戻り値が65500より大きかった場合は、無効な範囲から取得したとして
rand()による乱数取得をもう一度やりなおす。
プログラムの流れをまとめてみた
1. rand()を実行
2. もし、rand()の戻り値が65500より大きいなら1.へもどる
3. rand()の戻り値を100で割った余りを得る
4. おわり
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.032s