lightoj 1104 Birthday Paradox 概率

五迷三道 提交于 2019-11-28 14:47:16

给你一年的天数n,问不算自己,至少邀请多少人,有不小于0.5的概率,有人撞生日。

最多邀请多少人,有不大于0.5的概率,没人撞生日是等价的。

邀请第1个人,撞生日概率是(n - 1) / n。

邀请第2个人,撞生日概率是(n - 1) / n  *  (n - 2) / n。

以此类推计算即可。

 1 #include <cstdio>
 2 using namespace std;
 3 double P;
 4 int T,n,cas;
 5 int main()
 6 {
 7     for (scanf("%d",&T);T != 0;T--)
 8     {
 9         cas++;
10         P = 1.0;
11         scanf("%d",&n);
12         for (int i = 1;;i++)
13         {
14             P *= (double)(n - i) / n;
15             if (P <= 0.5)
16             {
17                 printf("Case %d: %d\n",cas,i);
18                 break;
19             }
20         }
21     }
22     return 0;
23 }

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!