看到了三门问题,很感兴趣,于是就过来简单写了个代码测试一下,果真是三分之二

#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()

    unsigned seed;
    seed=time(NULL);
    srand(seed);
    int number1,number2,number3,number4,i,n=1;
    double j;
    
    for(i;i<=1000000;i++){//i为总的实验次数 
    number1=rand()%3+1;//number1为有车的门 
    number2=rand()%3+1;//number2为我选的门 
    number3=rand()%3+1;//number3为主持人选的门
    if(number3==number1||number3==number2)//主持人选的门不能是有车的门,也不能是我选的门 
        number3=(number3+1)%3+1;   
    if(number3==number1||number3==number2)
        number3=(number3+1)%3+1;  
    //我们选择改变决定
    number4=rand()%3+1;//number4为最终打开的门
    if(number4==number2||number4==number3) //最终打开的门不能是我选的门,也不能是主持人选的门
    number4=(number4+1)%3+1; 
    if(number4==number2||number4==number3) 
    number4=(number4+1)%3+1;
    if(number4==number1){//改变决定之后最终打开门后有汽车的次数 
        n++;
        }
    }
    cout<<n<<endl; 
    j=(double)n/(double)i;//改变决定之后最终打开门后有汽车的概率 
    cout<<j<<endl;

    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值