srand(time(NULL))を使って乱数を生成しています。なぜそれが常に乱数さえも与えるのか、何か考えはありますか?私の場合、そのようにしています。私も奇数が必要なのを手伝ってください。0、1のセットが必要です。例:{1,1,0,0,1,0,0,0,1,1,0}
5811 次
2 に答える
3
電話
srand(time(NULL));
プログラムの最初に 1 回だけ、ランダムなシーケンスを「シャッフル」します。
それから電話する
rand();
0
からの範囲の数値を返しRAND_MAX
ます。
0または1のみが必要な場合は、試してみてください
int n = rand() % 2;
また
int n = rand() & 0x01;
于 2012-04-14T10:03:48.597 に答える
0
変数を初期化するようにPRNGを初期化することを考えてください...あなたはしません
// pseudo-code
// print numbers from 1 to 10
do 10 times
number_to_print = 1
print number_to_print
number_to_print++
end loop
同様に、srand()
プログラムの実行ごとに 1 回だけ呼び出す必要があります。
call srand() // initialize PRNG
loop
rand()
end loop
于 2012-04-14T10:12:03.553 に答える