回答編集履歴
1
言い回し修正
test
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
それ、私も経験しました。VSなんたらというコンパイラをお使いではありませんか。
|
2
2
|
原因は**ライブラリ関数 rand() の品質が悪い**ことです。
|
3
3
|
|
4
|
-
time() が返す値(実行時刻)が近い値だと、一回目の乱数値も近い値になってしまうようなんです。対策は簡単で、**一回目の乱数値を読み捨てる**こと。そのコードだと `` a=rand(); `` をプログラムの処理に使わないようにします。
|
4
|
+
time() が返す値(実行時刻)が近い値だと、一回目の乱数値も近い値になってしまうようなんです。対策は簡単で、**一回目の乱数値を読み捨てる**こと。そのコードだと `` a=rand(); `` の、a の値をプログラムの処理に使わないようにします。
|
5
5
|
|
6
6
|
Cコンパイラを変えれば rand() の実装も変わる可能性があります。いま私の手元の GCC はバージョン7.3.0という、さほど新しいものではありませんが、それでもそのコードを実行させてみると一回目からばらついてくれます。
|
7
7
|
```
|