回答編集履歴
1
追加
answer
CHANGED
@@ -25,4 +25,28 @@
|
|
25
25
|
i = i+1;
|
26
26
|
end
|
27
27
|
|
28
|
-
[sum(winner_records==1)/n , sum(winner_records==2)/n]
|
28
|
+
[sum(winner_records==1)/n , sum(winner_records==2)/n]
|
29
|
+
|
30
|
+
追加:
|
31
|
+
引き分けも勝負回数に含める場合はfor を使います。
|
32
|
+
n=1000;%勝負回数
|
33
|
+
n_sai_1 = 4;%player1のサイコロ数
|
34
|
+
n_sai_2 = 1;
|
35
|
+
player_1_records =[];%player1の出目記録用
|
36
|
+
player_2_records =[];
|
37
|
+
winner_records = [];%勝敗:1ならplayer1の勝利、2ならplayer2の勝利
|
38
|
+
|
39
|
+
for i=1:n
|
40
|
+
player_1_result=randi(6,1,n_sai_1);%1から6までの自然するからランダムにn_sai_1個選ぶ
|
41
|
+
player_2_result=randi(6,1,n_sai_2);
|
42
|
+
if max(player_1_result) == max(player_2_result) %引き分けなら再勝負
|
43
|
+
result = 0
|
44
|
+
else
|
45
|
+
result = 1+ (max(player_1_result) < max(player_2_result));
|
46
|
+
end
|
47
|
+
player_1_records=[player_1_records;player_1_result];
|
48
|
+
player_2_records=[player_2_records;player_2_result];
|
49
|
+
winner_records = [winner_records; result];
|
50
|
+
end
|
51
|
+
|
52
|
+
[sum(winner_records==1)/n , sum(winner_records==2)/n, sum(winner_records==0)/n]
|