前提・実現したいこと
Math.random()を用いて、○%の確率で0を出したいです。
例えば、ユーザーに10%、20%、30%と10刻みで数値を選択させ、
その値に応じて乱数を生成したいです。
分数ではなく%で選択させたいです。
簡単に書ける方法はありますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ベストアンサー
ごくシンプルに考えれば、要素が100個の配列を用意して確率に応じた個数だけ配列を詰めて、0~99の整数で乱数を作って選ばれたものを取り出す、というような方法が考えられます。
投稿2019/09/20 06:56
総合スコア145967
0
その値に応じて乱数を生成したいです。
なにをしたいのかわかりませんが、100個の乱数をつくってn%の確率で0にしたいのでしょうか?
全体の生成数がわからないとやりようがないですね。
100個を10%の確率で0にする考え方
- 100個中必ず10個0にする
- 100個つくるとき10%の確率で0にする、結果として8個だったり11個だったりしてもOK
どうするつもりでしょうか?
投稿2019/09/20 07:03
総合スコア116661
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
HTML
1 <input type="range" step="10" /> 2 <button id="random" type="button">random</button>
JavaScript
1document.getElementById('random').addEventListener('click', function(event) { 2 var r = Math.random() * 100; 3 console.log(r, r < document.querySelector('[type="range"]').valueAsNumber ? '0' : '-'); 4}, false);
投稿2019/09/20 07:05
編集2019/09/20 07:07総合スコア13749
0
0になる条件以外の値は何でもいいのですよね?
Math.random()
は、0以上1未満の乱数を返すので、p%の場合はMath.random() < p/100
の時に、0を返し、そうでない場合は0以外の値を返すようにすれば、ご希望の条件になるはずです。
投稿2019/09/20 07:03
総合スコア36928
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/20 07:20