2022/4/28問題:足し合わせるとNになるM個の乱数をどのように生成しますか?NとかMとかちょっとわかりにくいですが、例えば100%をランダムな数値で4つに分割するにはどうするか、みたいな問題です。簡単だと思ってたら、意外と少し頭を使ったので、一手順例のメモとして残しておこうと思います。最初にどのような手順で実現するかを記した後に、Javascriptで実装してみます。Contents実現したいもの手順プログラムデモ実現したいもの実現したいものは下記のように、例えば合計すると毎回100になるような乱数を4つ生成するプログラムです。※2秒ごとに切り替わります。手順おそらく、実現方法はたくさんあると思うのですが、今回は下記のような手順を考えました。Oもうひとつ『残数』という変数を用意して、初期値はNを代入しておきます。この残数は生成する乱数の合計が100を超えないようにコントロールするために使用します。乱数の個数(M)だけ繰り返し文を実行させます。3乱数を生成(ループ内)この時下記のふたつの条件で乱数を生成する生成する乱数は一つの乱数の最大値(O)以下になるように残数から生成した乱数をマイナスした時に0か負の数になる場合は再生成する4残数から生成した乱数の値をマイナスする(ループ内)この処理により、合計値(O)までの残数を記録し続けることができます。5最後のループは残数をそのまま使用(ループ内)プログラム上記の手順をJavascriptで実装すると下記のようになります。上記の手順に合わせてコメントアウトを入れております。}例えば、足し合わせると100になる乱数を4個用意するには上記関数を下記のように呼び出せばよいです。createRandNumsArray(M,N,O)デモ足し合わせるとNになるM個の乱数を生成する機能のデモを用意しました。Posts関連記事は見つかりませんでした。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。views2021/1/202023/5/13タイトルとURLをコピーしました。