lightoj1104(数学概率与期望)
题意:
增加一年有n天;
那么至少有几个人,能够保证至少两个人同一天生日的概率大于等于0.5;
思路:
转化一下题意;
就是求全部人生日都不同的概率小于等于0.5(那么至少两个人同一天就是大于等于0,5);
增加一年365天.那么10个人全都不同天生日的概率就是
366/366 * 365/366 * 364/366 .... * 356/366;
就能够得到公式了;
所以我们累乘过去知道小于等于0.5;看累乘几个;
#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; int n; int main() { int t; int cas = 1; scanf("%d",&t); while(t--) { scanf("%d",&n); double res = 1; int i; for(i = n - 1; i >= 0; i--) { double tmp = i; res *= (tmp / n); if(res <= 0.5) break; } printf("Case %d: %d\n",cas++, n - i); } }