1 /*二项分布即重复n次的伯努利试验,每次发生的概率一样,假设成功的概率是p,那么失败的概率就是1-p;
2 二项分布的概率公式:试验中发生K次的概率是
3 P(ξ=K)= C(n,k) * p^k * (1-p)^(n-k), 其中C(n, k) = n!/(k! * (n-k)!)
4 因为这里的数据,k最大为100,100的阶乘超过了int64位,所以不能用这个公式,这时候可以用泊松分布的概率
5 公式求近似值。
6 好了接着解释题意:这道题输入n和m,求m是期望,求实验中发生不超过n次的概率,所有所有的概率为0,1,2,3,4...n的概率和
7 */
8 #include<stdio.h>
9 #include<string.h>
10 #include<math.h>
11 #define e exp(1.0)
12 int main()
13 {
14 int i,j,n,m,k;
15 int t;
16 double ok;
17 scanf("%d",&t);
18 while(t--)
19 {
20 scanf("%d%lf",&n,&ok);
21 double num=1.0/( pow(e,ok) );
22 double sum=0;
23 for(i=0;i<=n;i++)
24 {
25 double f=pow(ok,i)*num;
26 for(j=1;j<=i;j++)
27 f=f/j;
28 sum=sum+f;
29 }
30 printf("%.3lf\n",sum);
31 }
32 return 0;
33 }
34 lyh走之前还送了一次助攻