标签:
题意:
加入一年有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); } }
标签:
原文地址:http://blog.csdn.net/yeyeyeguoguo/article/details/46365917