题目链接:https://vjudge.net/contest/299639#problem/E
题目大意:
假设一年有n天,在你的聚会上,问你至少邀请多少个人,能保证聚会上的人至少其中两个人的生日在同一天的概率大于等于0.5。
这里有一个陷阱:自己又算一个人。如果计算出来是n个人,实际上只用邀请n-1个人。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t, CUT=0;
scanf("%d",&t);
while(t--)
{
CUT++;
double n;
scanf("%lf",&n);
double a=n;
double p=1;
if(n==1)
{
printf("Case %d: 1\n", CUT);
continue;
}
for(int i=1;1;i++)
{
p*=(n-i)/n;
if(1-p>=0.5)
{
n=i;
break;
}
}
printf("Case %d: %.0f\n", CUT, n);
}
return 0;
}