Q&A
解決済
4回答
743閲覧
総合スコア18
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
0グッド
1クリップ
投稿2019/09/20 06:50
0
1
Math.random()を用いて、○%の確率で0を出したいです。
例えば、ユーザーに10%、20%、30%と10刻みで数値を選択させ、 その値に応じて乱数を生成したいです。
分数ではなく%で選択させたいです。 簡単に書ける方法はありますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
質問へのコメント
回答4件
ベストアンサー
ごくシンプルに考えれば、要素が100個の配列を用意して確率に応じた個数だけ配列を詰めて、0~99の整数で乱数を作って選ばれたものを取り出す、というような方法が考えられます。
投稿2019/09/20 06:56
総合スコア147001
回答へのコメント
2019/09/20 07:20
その値に応じて乱数を生成したいです。
なにをしたいのかわかりませんが、100個の乱数をつくってn%の確率で0にしたいのでしょうか? 全体の生成数がわからないとやりようがないですね。
100個を10%の確率で0にする考え方
どうするつもりでしょうか?
投稿2019/09/20 07:03
総合スコア118256
2019/09/20 07:22
HTML1 <input type="range" step="10" /> 2 <button id="random" type="button">random</button>
HTML
1 <input type="range" step="10" /> 2 <button id="random" type="button">random</button>
JavaScript1document.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);
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
総合スコア13749
0になる条件以外の値は何でもいいのですよね? Math.random()は、0以上1未満の乱数を返すので、p%の場合はMath.random() < p/100の時に、0を返し、そうでない場合は0以外の値を返すようにすれば、ご希望の条件になるはずです。
Math.random()
Math.random() < p/100
総合スコア37683
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
○%の確率で0を出すには?
2019/09/20 07:20