C ループで真に一意の乱数を生成する方法
このコードでは、各ループで異なる乱数を生成しようとします。 iteration:
for (int t = 0; t<10; t++) { int random_x; srand(time(NULL)); random_x = rand() % 100; cout << "\nRandom X = " << random_x; }
ただし、問題は srand() を呼び出していることです。ループ内で複数回。これにより、毎回同じシード値で乱数生成器 (RNG) が初期化され、同じ乱数シーケンスが生成されます。
ループ内で真に一意の乱数を生成するには、次の手順に従う必要があります。
srand(time(NULL)); // Initialize RNG outside of loop
random_x = rand() % 100;
これらの手順に従うことで、ループの各反復で異なる乱数を生成できます。
以上がC ループで乱数の繰り返しを回避するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。