重複の可能性:
乱数を効果的に生成する
アプリケーションで生成する必要がありrandom numbers
ますC++
。私はこれらの2つの記事を読んで知っています-
http://www.cprogramming.com/tutorial/random.html
特定の範囲で1つの乱数、1組の乱数、または3つの乱数を生成するac関数を記述します。
--その乱数はを使用して生成できますsrand()
がrand()
、どちらの場合も、に従って現在の時刻system clock
がとして使用されますseed
。rand()
しかし、シードが同じである場合に同じ乱数を作成する最初の記事を読みました。したがって、2人の異なるユーザーが同時に私のアプリケーションを実行した場合、それらは同じ乱数を持ちます。ほとんどの場合、乱数は一意である必要があるため、これは無意味です。(ランダムに生成された場合、それらが本当に100%一意になることはありません)
だから私の質問は、システム時間に基づいていないランダムシードを作成できますか?もしそうなら、なぜrand()
同じシードで同じ数を生成するのですか?同じシードでrand()
異なる数を生成する方法はありますか、または他にありますか乱数を生成する方法は?