- UID
- 335639
- 主题
- 2
- 阅读权限
- 20
- 帖子
- 396
- 精华
- 0
- 积分
- 198
- 金钱
- 1938
- 荣誉
- 0
- 人气
- 1
- 在线时间
- 811 小时
- 评议
- 0
- 帖子
- 396
- 精华
- 0
- 积分
- 198
- 金钱
- 1938
- 荣誉
- 0
- 人气
- 1
- 评议
- 0
|
本帖最后由 Mr.zhao[flying] 于 2011-8-9 12:30 编辑
前言:
你们都是大神级别的人物,我这种小鱼小虾如何能比。
只是看到前两天大家都在讨论这个问题,想通过自己的方式来验证答案。
没想到遭来了一群你们这样的人。
好吧,我再把那句话重复一遍,不喜勿进,喷子请滚出这个帖子。你牛逼,我惹不起,但是你别在我这一亩三分地里撒野装逼,谢谢。
代码不高端,力求简洁易懂。请各位多多指正。结果很明显换门中奖的概率应为2/3。
#include <stdio.h>
#include <iostream>
#include <time.h>
#include <windows.h>
using namespace std;
int main()
{
cout << "现在是100000次换门的情况:" << endl;
int a,b,c,temp1,temp2,zj=0,bzj=0,i;
srand(GetTickCount());
for(i=1;i<100001;i++)
{
temp1=rand()%3+1;
switch(temp1)
{
case 1:{a=1;b=0;c=0;break;}
case 2:{a=0;b=1;c=0;break;}
case 3:{a=0;b=0;c=1;break;}
}
temp2=rand()%3+1;
switch(temp2)
{
case 1:{
switch(temp1)
{
case 1:{bzj++;break;}
case 2:{zj++;break;}
case 3:{zj++;break;}
}
break;
}
case 2:{
switch(temp1)
{
case 1:{zj++;break;}
case 2:{bzj++;break;}
case 3:{zj++;break;}
}
break;
}
case 3:{
switch(temp1)
{
case 1:{zj++;break;}
case 2:{zj++;break;}
case 3:{bzj++;break;}
}
break;
}
}
}
cout << "中奖次数为:" << zj << endl;
cout << "不中奖次数为:" << bzj << endl;
return 0;
}
用a,b,c模拟三个门内的奖品,用temp1模拟哪个门内存在奖品,用temp2模拟人的选择。
|
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|