zoj3696 Alien's Organ ——概率题

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3696

题目大意:

  就是一个东西,随机产生器官,一天产生的数量的期望是x,求一天内产生个数小于等于N的概率

题目思路:

  泊松分布。概率论得好好学。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstdlib>
 4 #include <cstring>
 5 #include <cctype>
 6 #include <math.h>
 7 #include <stack>
 8 #include <queue>
 9 #include <map>
10 #include <set>
11 #include <vector>
12 #include <cmath>
13 #include <algorithm>
14 #define lson l, m, rt<<1
15 #define rson m+1, r, rt<<1|1
16 using namespace std;
17 typedef long long int LL;
18 const int MAXN =  0x7fffffff;
19 const int  MINN =  -0x7fffffff;
20 const double eps = 1e-9;
21 const int dir[8][2] = {{0,1},{1,0},{0,-1},{-1,0},{-1,1},
22   {1,1},{1,-1},{-1,-1}};
23 double la;
24 double cal(double k) {
25   double l = 1; 
26   for (int i = 1; i <= k; ++i)  {
27     l = l * i;
28   }
29   double re = pow(la, k) / l * exp(-la);
30   return re;
31 }
32 int main(void){
33 #ifndef ONLINE_JUDGE
34   freopen("a.in", "r", stdin);
35 #endif
36   int t; scanf("%d", &t);
37   while (t--) {
38     double N; int i, j; double sum = 0;
39     cin >> N >> la;
40     for (i = 0; i <= N; ++i) {
41       sum += cal(i*1.0);
42     }
43     printf("%.3lf\n", sum);
44   }
45 
46   return 0;
47 }

  比赛到最后10分钟了才写,最后3分钟过的,,代码比较挫……还是跟别人讨论的。。。

posted on 2013-05-07 23:27  aries__liu  阅读(458)  评论(0编辑  收藏  举报