典型的条件概率题目。
事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为P(A|B),读作“在B条件下A的概率”。
若只有两个事件A,B,那么,
P(A|B)=P(AB)/P(B)
本题的设事件Alice赢为B,事件Alice投掷数字x为A,则事件Alice投掷数字x且赢为AB则求在Alice赢的条件下求Alice投掷的数字,即求P(A|B);根据上面公式求解即可
double getExpectation(int a, int b) { double B = 0,AB = 0; double prob_a = 1.0/a,prob_b = 1.0/b; for(int i = 1; i <=a; ++ i){ for(int j = 1; j< i && j <= b; ++ j){ B += prob_a*prob_b; AB+=i*prob_a*prob_b; } } return AB/B; }