概率论基础-泊松分布计算近似概率

来源:互联网 发布:北京友才网络 编辑:程序博客网 时间:2024/04/29 16:48


为保证设备的正常运行,必须配备一定数量的设备维修人员,现有同类设备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;}





原创粉丝点击