数组控制:

来源:百度知道 编辑:UC知道 时间:2024/05/30 09:40:19
数组控制:
某班有93人试利用Table Count Random模拟100次推断该班有至少2人在同一天过生日的概率

#include <time.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>

#define CNT 100
#define MAX 93

int main()
{
int i,j;
long cnt=0;
long trial=0;
int leap=0;
int days=365;/*是否是闰年*/
int stu[MAX];
int rnd;

srand(time(NULL));
days+=leap; /*闰年加一天*/

for (trial=0;trial<CNT;trial++)
for (i=0;i<MAX;i++)
{
rnd=rand()%days;
for (j=0;j<i;j++)
if (stu[j]==rnd)
break;
if (j==i)
stu[i]=rnd;
else
{
cnt++;
break;
}
}
printf("p=%g\n",(double)cnt/(double)CNT);
getch();
return 0;
}

结果为1(每次运行的结果可能不相同,但都在1左右)
真实值应当是
1- 1.6764e-150
可以认为它等于1

不会

var i,n,re=0;
for(i=0;i<100;i++)
{
var rs=[];//一个新数组
for(n=0;n<93;n++)
{
birthN=ran