|
http://bbs.gameres.com/showthread.asp?threadid=172030
同样的3个问题,在另一个论坛的结果是
1:宝马问题
int main(void)
{
int door,choice,car,mhc,newchoice,i,n,x,y;
srand((unsigned)time(0));
printf("请输入试验次数:");
scanf("%d",&n);
x=0;y=0;
for (i=1;i<=n;++i)
{
memset(door,0,sizeof(door));
car=rand()%3;
door=1;
choice=rand()%3;
mhc=(car+(rand()%2+1))%3;
if (choice==mhc) mhc=3-choice-car;
newchoice=3-choice-mhc;
if (door==1) ++y;else ++x;
}
printf("换门赢得汽车的概率约为%lf,不换门赢得汽车的概率约为%lf\n",(double)x/(double)n,(double)y/(double)n);
return 0;
}
换门赢得汽车的概率约为0.668690,不换门赢得汽车的概率约为0.331310
换门赢得汽车的概率约为0.667200,不换门赢得汽车的概率约为0.332800
换门赢得汽车的概率约为0.668090,不换门赢得汽车的概率约为0.331910
换门赢得汽车的概率约为0.669400,不换门赢得汽车的概率约为0.330600
换门赢得汽车的概率约为0.666070,不换门赢得汽车的概率约为0.333930
换门赢得汽车的概率约为0.668260,不换门赢得汽车的概率约为0.331740
换门赢得汽车的概率约为0.667060,不换门赢得汽车的概率约为0.332940
换门赢得汽车的概率约为0.666560,不换门赢得汽车的概率约为0.333440
换门赢得汽车的概率约为0.664630,不换门赢得汽车的概率约为0.335370
换门赢得汽车的概率约为0.668040,不换门赢得汽车的概率约为0.331960
2:酒鬼问题
int main(void)
{
int n,drunkard;
float x,y,z;
srand((unsigned)time(0));
cout<<"计算次数";
cin>>n;
ofstream fout("酒鬼.txt");
for (int j=0;j<=9;++j)
{
x=0;y=0; z=0;
for (int i=1;i<=n;++i)
{
int m=0;
int police=0;
m=rand()%10; //在家还是外出,0为在家,1-9为外出
if (m == 0) {drunkard=3; ++z;} //为0即在家
else //其余为外出
{ police = rand()%3; // 警察没去的酒吧
drunkard = rand()%3;//酒鬼去的酒吧
if (drunkard==police) {++y;}//若警察没去的恰好是酒鬼去的酒吧,即成功
else --i; //否则这次计算取消,因为已知警察头两家没抓到
}
}
fout<<"\n 酒鬼在第三家酒吧概率:"<
}
return 0;
}
酒鬼在第三家酒吧概率:0.750681
酒鬼在第三家酒吧概率:0.750383
酒鬼在第三家酒吧概率:0.749076
酒鬼在第三家酒吧概率:0.749604
酒鬼在第三家酒吧概率:0.749951
酒鬼在第三家酒吧概率:0.750535
酒鬼在第三家酒吧概率:0.749787
酒鬼在第三家酒吧概率:0.750532
酒鬼在第三家酒吧概率:0.750147
酒鬼在第三家酒吧概率:0.749676
3:女孩问题
int main(void)
{
ofstream fout("女孩.txt");
for (int j=0;j<=9;++j)
{
int n,family[2];
float x,y,z;
srand((unsigned)time(0));
cout<<"计算次数";
cin>>n;
x=0;y=0;
for (int i=1;i<=n;++i)
{
int m=0;
int call=0;
family[0]=rand()%2; //家里孩子A的性别 0男1女
family[1]=rand()%2;//家里孩子B的性别
call=rand()%2;//接电话的孩子是A还是B
if (family[call]==1) // 如果接电话的是女孩
{y++;
if (family[0]+family[1]==2) x++; //如果没借的也是女孩
}
}
fout<<"\n 另一个也是女孩的概率:"<
}
return 0;
}
另一个也是女孩的概率:0.499946
另一个也是女孩的概率:0.499888
另一个也是女孩的概率:0.500058
另一个也是女孩的概率:0.500023
另一个也是女孩的概率:0.500041
另一个也是女孩的概率:0.499987
另一个也是女孩的概率:0.500019
另一个也是女孩的概率:0.500002
另一个也是女孩的概率:0.680249
另一个也是女孩的概率:0.500023
------------------------------
(这里本来应该写点什么,但是想了想,还是别写了) |
|