|
发表于 2011-9-2 12:26:00
|
显示全部楼层
Re:争议最大的三道概率题
根本就成了文字游戏= =LZ想问整体过程的概率,结果很容易让人理解成单步过程的概率。。。。。。文字的表述能力啊,这样的文字表述能力怎么当策划= =
幸好高考的出卷老师的命题水平还比较高= =有歧义的题目不出
大学的概率论老师语文水平也不错,否则。。。。。。
附上程序= =
#include <iostream>
#include <ctime>
#include <windows.h>
using namespace std;
void main()
{
for(int i=0; i<10;i++) //总共进行10次
{
int sum=0;
for(unsigned long j = 0; j<100000;j++) //每次统计10000次
{
int door[3]={0,0,0}; //初始化3扇门
int randoor; //奖品的那扇门
int choose1,choose2; //2次选择
int close; //主持人关闭的门
srand((unsigned)time(0)*2+j*10);//初始化奖品门
randoor=rand()%9999;
if(randoor>=0 && randoor<=3332)
randoor=0;
else if(randoor>=3333 && randoor<=6665)
randoor=1;
else if(randoor>=6665 && randoor<=9999)
randoor=2;
door[randoor]=1;
srand((unsigned)time(0)*20+j*1000);//第一次选择
choose1=rand()%9999;
if(choose1>=0 && choose1<=3332)
choose1=0;
else if(choose1>=3333 && choose1<=6665)
choose1=1;
else if(choose1>=6665 && choose1<=9999)
choose1=2;
if(choose1==randoor) //主持人关门
for(int k=0;k<2;k++)
{
if(k!=choose1)
{
close=k;
break;
}
}
else
for(int k=0;k<3;k++)
{
if(k!=choose1 && k!=randoor)
{
close=k;
break;
}
}
for(int k=0;k<3;k++) //第二次选择
if(k!=choose1 && k!=close)
{
choose2=k;
break;
}
sum+=door[choose2];
}
cout<<sum<<endl;
Sleep(1000);
}
}
|
|