質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

4回答

622閲覧

○%の確率で0を出すには?

soda346

総合スコア18

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2019/09/20 06:50

前提・実現したいこと

Math.random()を用いて、○%の確率で0を出したいです。

例えば、ユーザーに10%、20%、30%と10刻みで数値を選択させ、
その値に応じて乱数を生成したいです。

分数ではなく%で選択させたいです。
簡単に書ける方法はありますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

ごくシンプルに考えれば、要素が100個の配列を用意して確率に応じた個数だけ配列を詰めて、0~99の整数で乱数を作って選ばれたものを取り出す、というような方法が考えられます。

投稿2019/09/20 06:56

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

soda346

2019/09/20 07:20

回答ありがとうございますm(__)m 思い通りの動作が出来ました。 助かりました。
guest

0

その値に応じて乱数を生成したいです。

なにをしたいのかわかりませんが、100個の乱数をつくってn%の確率で0にしたいのでしょうか?
全体の生成数がわからないとやりようがないですね。

100個を10%の確率で0にする考え方

  • 100個中必ず10個0にする
  • 100個つくるとき10%の確率で0にする、結果として8個だったり11個だったりしてもOK

どうするつもりでしょうか?

投稿2019/09/20 07:03

yambejp

総合スコア114747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

soda346

2019/09/20 07:22

最初の回答者様の方法で出来てしまったのでBAはその方に。 回答ありがとうございますm(__)m
guest

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
x_x

総合スコア13749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

soda346

2019/09/20 07:22

最初の回答者様の方法で出来てしまったのでBAはその方に。 回答ありがとうございますm(__)m
guest

0

0になる条件以外の値は何でもいいのですよね?
Math.random()は、0以上1未満の乱数を返すので、p%の場合はMath.random() < p/100の時に、0を返し、そうでない場合は0以外の値を返すようにすれば、ご希望の条件になるはずです。

投稿2019/09/20 07:03

Lhankor_Mhy

総合スコア36057

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

soda346

2019/09/20 07:22

最初の回答者様の方法で出来てしまったのでBAはその方に。 回答ありがとうございますm(__)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問