回答編集履歴

1

追加

2017/10/20 05:55

投稿

WathMorks
WathMorks

スコア1582

test CHANGED
@@ -53,3 +53,51 @@
53
53
 
54
54
 
55
55
  [sum(winner_records==1)/n , sum(winner_records==2)/n]
56
+
57
+
58
+
59
+ 追加:
60
+
61
+ 引き分けも勝負回数に含める場合はfor を使います。
62
+
63
+ n=1000;%勝負回数
64
+
65
+ n_sai_1 = 4;%player1のサイコロ数
66
+
67
+ n_sai_2 = 1;
68
+
69
+ player_1_records =[];%player1の出目記録用
70
+
71
+ player_2_records =[];
72
+
73
+ winner_records = [];%勝敗:1ならplayer1の勝利、2ならplayer2の勝利
74
+
75
+
76
+
77
+ for i=1:n
78
+
79
+ player_1_result=randi(6,1,n_sai_1);%1から6までの自然するからランダムにn_sai_1個選ぶ
80
+
81
+ player_2_result=randi(6,1,n_sai_2);
82
+
83
+ if max(player_1_result) == max(player_2_result) %引き分けなら再勝負
84
+
85
+ result = 0
86
+
87
+ else
88
+
89
+ result = 1+ (max(player_1_result) < max(player_2_result));
90
+
91
+ end
92
+
93
+ player_1_records=[player_1_records;player_1_result];
94
+
95
+ player_2_records=[player_2_records;player_2_result];
96
+
97
+ winner_records = [winner_records; result];
98
+
99
+ end
100
+
101
+
102
+
103
+ [sum(winner_records==1)/n , sum(winner_records==2)/n, sum(winner_records==0)/n]