回答編集履歴
1
補足を追加
answer
CHANGED
@@ -5,6 +5,6 @@
|
|
5
5
|
srand(now);
|
6
6
|
```
|
7
7
|
|
8
|
-
すると、現在時刻が同じ秒数の間は、同じシードが設定されるため、最初の`rand()`で得られる値は同一になります。現実的に、現在のPCの処理速度では1秒間にすべての試行(10000回)が終了してしまうため、すべて同一の`rand()`の返り値でシミュレーションが行なわれ、同一の結果が10000個得られることになります。
|
8
|
+
すると、現在時刻が同じ秒数の間は、同じシードが設定されるため、最初の`rand()`で得られる値は同一になります。現実的に、現在のPCの処理速度では1秒間にすべての試行(10000回)が終了してしまうため、(途中で秒数が変わらなければ)すべて同一の`rand()`の返り値でシミュレーションが行なわれ、同一の結果が10000個得られることになります。
|
9
9
|
|
10
10
|
解決策は、他の方の回答にあるように、シードの設定を`main`の冒頭で行ない、`choose_door`では`rand()`だけを行なうことです。
|