題目:一個骰子,6面,1個面是 1, 2個面是2, 3個面是3,問平均擲多少次能使1、2、3都至少出現一次。
解:(沒學過《組合數學》的請略過)
設P(N=n)表示第n次(n>2)拋出後1,2,3都出現的概率,問題要求n的期望E(N=n).擲1的概率p=1/6,擲2的概率q=1/3,擲3的概率r=1/2.
C++編程實現如下:
#include <iostream>
using namespace std;
float f(float x)
{
return (1/(1-x)/(1-x)-1-2*x);
}
int main()
{
float p=1.0/6,q=1.0/3,r=1.0/2,e;
e=r*(f(p+q)-f(p)-f(q))+p*(f(q+r)-f(q)-f(r))+q*(f(p+r)-f(p)-f(r));
cout<<e<<endl;
return 0;
}
運行結果爲:7.3