概率論基礎-泊松分佈計算近似概率
阿新 • • 發佈:2019-02-16
為保證裝置的正常執行,必須配備一定數量的裝置維修人員,現有同類裝置300臺,且各臺裝置工作相互獨立,任一時刻發生故障的概率都是0.01,假設一臺裝置的故障由一人進行修理,問至少應配備多少名修理人員,才能保證裝置發生故障後能得到及時修理的概率不小於0.99?
當N大,p小時,可以用此公式,是近似的二項分佈計算,相對的計算量會少一些。
當然,對於此題,精確計算應該是用二項分佈,但是計算C(n,k)過大,會溢位。
下面的程式得出至少需要8名人員。
#include <iostream> #include <math.h> using namespace std; int m[101] = {1,1}; int main() { int N = 300; double p = 0.01; double r = N * p; //計算階乘, 預測結果不會太大,計算到50即可 for(int i=2; i<=50; i++) m[i] = m[i-1] * i; double ke = exp(-r); double ans = 0; //使用泊松分佈公式計算 for(int i=0; i<300; i++){ ans += ke * pow(r, i) / m[i]; if(ans >= 0.99){ cout << i<< endl; break; } } return 0; }