Match626 DIV2 500
サイコロの期待値
期待値
期待値は「確率で重み付けした値の和」。*1
例題*2
アリスがa面サイコロ、ボブがb面サイコロを持っている。
単純に出た目が多い方が勝ちというゲームを行う。
アリスが勝つことを知っているとき、アリスが出す出目の期待値を求めよ。
回答案
以下の式より、期待値を求める。
\[ アリスの出目の合計 / アリスが勝つ回数 \]
回答コード(C#)
class FiexedDiceGameDiv2 { public double getExpectation(int a, int b){ int cnt = 0; int sum = 0; double exp = 0.0; for (int i = 1; i <= a; i++) { for (int j = 1; j <= b; j++) { if (i > j) { cnt++; sum += i; } } } Console.WriteLine ("cnt=" + cnt.ToString () + ",sum=" + sum.ToString ()); if (cnt != 0) { exp = (double)sum / (double)cnt; } Console.WriteLine (exp); return exp; } }