質問するログイン新規登録

回答編集履歴

1

追加

2017/10/20 05:55

投稿

WathMorks
WathMorks

スコア1582

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]