典型的條件概率題目。
事件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; }