/ /乱数の作成-c、ランダム、ランダムサンプル

乱数生成 - c、ランダム、ランダムサンプル

私は生成する必要があります 100 たとえばサイズ5000の配列内のランダムインデックス arr[5000]。おもう rand() より多くのCPUを使用するため、100をループさせたくない回。私はそれを一度呼び出して、ランダム配列インデックスを持つメカニズムが必要です。私のアイデアは、最初の20個のインデックスにランダムな値を設定し、オフセットを生成して、生成されたランダムな値に追加し続けることです。すなわち 10 は、最初の20個のインデックスからのランダムな値であり、オフセットが 6 それから私の乱数は 10,16,22,28...etc これは良い考えだと思いますか?他に何か提案してもらえますか?

回答:

回答№1の場合は7

それは恐ろしいアイデアであり、結果の値は「ランダム」ではありません。

ループして呼び出します rand() 必要な番号ごとに。 「より多くのCPUを使用する」ことはありません( ?)、 大丈夫だよ。

また、もちろん、 rand() 通常、せいぜい擬似ランダムジェネレーターですが、アプローチよりも優れています。


回答№2の場合は0

rand()を使用することをお勧めします。ただし、本当に擬似乱数ジェネレータ(99%の場合は正しい答えではない)を実行したい場合は、 線形合同ジェネレータ -その背後にある数学は簡単であり、libcのrandom()実装の基礎になっています。楽しみのために同じものを試してみることができます。 リンク.