#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int HaveSameBirthday (int stu[] ,int n)
{
int same=0;
for (int i = 0; i < 367 ; i++)
{ if (stu[i]>2)
same=1;
}
return same;
}
int main()
{
srand((unsigned)time(NULL));
int stu[367],n,N=10000,d,havesame=0,same;
float probability;
for (int n = 10; n < 81; n++)
{ for (int i = 0; i < N; i++)
{
for (int i = 0; i < 367; i++)
stu[i]=0;
for (int j = 0; j < n; j++)
{
d=rand()%366+1;
stu[d]++;
}
same=HaveSameBirthday(stu,n);
havesame+=same;
}
probability=havesame/100;
if(probability>50)
{
printf("一个班有%d同学才能,至少有两个人同一天过生日的概率>=50%c\n",n,'%');break;
}
}
system("pause");
return 0;
}