問題タブ [srand]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 乱数と複数の srand 呼び出し
ループで多数の乱数を生成するプログラムを書いています。数値を予測しにくいものにしようとしています (セキュリティのためだけでなく、複数のスレッドでの衝突を避けるため)。
srand
多くのドキュメントが、プログラム内で 1 回だけ呼び出すことを推奨していることに気付きました。例: C の乱数。選択された答えは、「原則として、プログラムで srand() を 1 回だけ呼び出す」です。
しかし、なぜ?このようなことをするのはなぜそんなに悪いのでしょうか:
そのため、シードはプログラムごとではなく、関数呼び出しごとに 1 回変更されます。このように、実行中のスレッドの数に関係なく、2 つのスレッドがすべて同じ乱数リストを持つことはありません。
更新 各スレッドに一意のシードがあるか、競合状態を防ぐためにグローバル SEED にミューテックスがあるとします。
visual-studio-2010 - C++srand関数のループ
パスワード生成プログラムの一部として次の方法を使用して、ランダムなパスワードを生成し、それを検証します。
私の問題は、srand関数が検証要件を満たさず、ループバックして新しいパスワードを作成し続けることです。
以下のコードを投稿して、ランダムパスワードを作成するより効率的な方法があるかどうかを尋ねて、継続的にループバックするのではなく、検証要件を満たすようにします。ありがとうございます。
multithreading - スレッド内の Rand() 関数
さて、私はこの単純なコードを持っています。 main() 内でコンパイルすると、乱数は互いに異なりますが、スレッド内で乱数を生成しようとすると、生成されるすべての数値が同じになります。
c++ - 一度に 1000 枚のランダムなカード デッキ シャッフルを生成する C++
私は基本的に、52 枚のカードの標準的なデッキを使用するカジノ ゲームのアイデアのコンピューター シミュレーションを構築しようとしています。
一度に 1000 ゲームを実行したいと考えています。
以前に srand(time(NULL)) を使用したことがありますが、これで一度に 1000 個の異なる乱数シーケンスを出力することはできないと思いますか? 私の認識では、すべての数値が同時に生成されるため、それらはすべて同じになります。
最初に生成された乱数を使用して、1000 個の新しい 52 個の数列をシードする方法はありますか?
ありがとう
c++ - C++ 時間とランダム関数
デッキからランダムにカードを引くプロシージャルを作成しようとしています。問題は、描画手順を実際にランダムにする必要があったことです。他の要因が変化しない場合、srand と rand を使用する場合、各描画は同じであるためです。したがって、私はそれを time_t 秒にアタッチし、ドローをセミ/ランダムにすることができました。これは、time_t 秒のパラメーターが変更されるまで 1 秒待つ必要があるためです。これが問題である理由は、私のプログラムが同じカードを 2 回引くと、再度引くように作られているためです (これは既知のことです)。したがって、同じカードを 2 回ドローした場合、time_t 秒パラメーターが変更されるまで、さらに約 15 回 (またはそれ以下) ドローする必要があります。この問題が発生しないように、ミリ秒またはそれ以外の時間の単位を測定する方法はありますか?
コードは次のとおりですが、試合のチェックと組織化の手順は添付されていません (これらは最初の抽選後にのみ発生します)。
perl - Activeperl は Rand 関数に Windows の「stdlib」を使用しますか
Activeperl が rand および srand 関数に Windows の「stdlib」を使用しているかどうかを知っている人はいますか? 私はperl 5.16を使用しています。ご回答ありがとうございます。
c - srand()を指定しない場合、rand()はどのシードを使用しますか?
コードは次のとおりです。
乱数を試していましたが、ある日、入力するのを忘れましたsrand()
が、rand()
関数はそれでも乱数をランダム化できます(同じシーケンス)。
問題は、指定しない場合、どのシードを使用するかということです。
c - Cでrand()に変数を割り当てる方法は?
重複の可能性:
範囲内の乱数を生成しますか?
コードが実行されたときに、コマンド プロンプトに最大数を入力して最大数を再定義し、0 と新しい最大数の間に新しい乱数を生成できるようにしようとしています。
私はこれを正しく行いましたか?
c++ - srand を使用してランダム シードを設定するのは最新の C++ ですか?
を使用するコードstd::random_shuffle
の場合、生成される疑似ランダム シーケンスがプログラムの実行ごとに異なるように、ランダム シードを設定する必要があります。
ここのコード例は、への呼び出しを行います
する必要がある
C++11 には疑似乱数生成の主要な更新が含まれているため、これはまだ最新の状態ですか? のランダムシードを設定するには何を使用すればよいstd::random_shuffle
ですか?
c - srand 関数は同じ値を返しています
皆さん、この番組を見てください。
srand 関数は同じ値を 3 回または 4 回返し続けます。
サイコロを振るたびに異なる値が必要で、コードをコピーして実行して意味を確認します