概率编程
两支足球队加上裁判共23人.现在要打赌23人中至少有两人同月同日生,你是赌有还是没有?
这个问题我一开始不是很重视,心算了一下,发现不行,就用计算器算,发现还是太麻烦.突然想到可以编程计算.
编译:VC
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#define N 100000
main()
{
int num=365;
int i,j,ip,birth[23],flag=0;
srand((unsigned)time(NULL));
for(ip=0;ip<N;ip++)
{
for(i=0;i<23;i++)
birth[i]=(int)(1+365*rand()/RAND_MAX+1.0);
for(i=0;i<22;i++)
for(j=i;j<23;j++)
if((i!=j)&&(birth[i]==birth[j]))
flag++;
}
printf("%d次中两人相等次数:%d\n机率为%f%%\n",N,flag,(float)flag/(float)N/23*2);
return 0;
}