前言:

早上看到一片关于三门问题的博客http://www.cnblogs.com/twocats/p/3440398.html,抱着该博客结论的怀疑态度用C#语言写了一些代码。实验证明该博客的结论是正确,如果变换选择选中车的概率的确是2/3.

代码:

变量声明

       //总测试次数
static long AllCount = 0;
//抽到车次数
static long CarCount = 0;
protected static Random r = new Random();
//1代表羊,2代表car
static int x = 1;
static int y = 2;
static int z = 1;

方法函数

       /// <summary>
/// 启动游戏
/// </summary>
/// <param name="firstChoose">第一次选择</param>
/// <param name="secondChoose">第二次选择</param>
static void gameBegin(int firstChoose,int secondChoose)
{
if (firstChoose == 1)//主持人把z打开,开始第二次选择
{
AllCount++;
switch (secondChoose)
{
//不换,依旧选择x
case 0:
break;
case 1: CarCount++;
break;
} }
if (firstChoose == 2)//主持人把xz中其中一个打开,开始第二次选择
{
//开始选择.0为不换,1为换
AllCount++;
switch (secondChoose)
{
//不换,依旧选择y
case 0: CarCount++;
break;
case 1:
break;
}
}
if (firstChoose == 3)//选择y,主持人把x门打开,开始第二次选择
{
AllCount++;
switch (secondChoose)
{
//不换,依旧选择z
case 0:
break;
case 1: CarCount++;
break;
} }
}

主函数

        static void Main(String[] args)
{ for (int i = 0; i < 1000; i++)
{
int firstchoose = r.Next(1, 4);
gameBegin(firstchoose,1);
}
double result=(double)CarCount/AllCount;
Console.WriteLine("总共测试了{0}次,抽到车{1}次,换抽到的概率为{2}%",AllCount,CarCount,result*100);
Console.ReadKey();
}

结论:

由于一些问题不能贴图,这里直接附上结果抽了1000次,抽到车690次,抽到概率69%。有问题希望大家留言

三门概率问题之C#版的更多相关文章

  1. Generative Adversarial Networks overview(1)

    Libo1575899134@outlook.com Libo (原创文章,转发请注明作者) 本文章会先从Gan的简单应用示例讲起,从三个方面问题以及解决思路覆盖25篇GAN论文,第二个大部分会进一步 ...

  2. UVa 10491 Cows and Cars (概率&广义三门问题 )

    10491 - Cows and Cars Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onli ...

  3. 《JAVA 程序员面试宝典(第四版)》之循环、条件、概率

        分享内容:关于集合的使用   书页号码:77页 题目:一个字符串中包含a~z中的多个字符,如有重复,如String data = "aavzcadfdsfsdhshgwasdfasd ...

  4. 读书笔记---PMBOK第五版官方中文版

    以下是为了准备PMP考试时学习<PMBOK第五版官方中文版>这本书的笔记和摘要,目的是为了以后可以快速的抓住本书的核心重点复习. 引论 PMPOK的目的 收录了项目管理知识体系中被普遍认可 ...

  5. 总有一项适合你:联想 Miix2 8寸版触摸屏失灵的各项解决方案

    今天试着自己拆开后盖重新拆了一下排线,果然这个方法才是王道.在搜索攻略的时候看到了下面的帖子,觉得总结的不错,特此转载过来:     白色石头 2015-05-22 10:07● 使用评测   总有一 ...

  6. Atiti  attilax主要成果与解决方案与案例rsm版 v4

    Atiti  attilax主要成果与解决方案与案例rsm版 v4 版本历史记录1 1. ##----------主要成果与解决方案与 参与项目1 ###开发流程与培训系列1 #-----组织运营与文 ...

  7. Atiti  attilax主要成果与解决方案与案例rsm版 v2

    Atiti  attilax主要成果与解决方案与案例rsm版 v2 1. ##----------主要成果与解决方案与 参与项目1 ###开发流程与培训系列1 #-----组织运营与文化建设系列1 # ...

  8. Atiti  attilax主要成果与解决方案与案例rsm版

    Atiti  attilax主要成果与解决方案与案例rsm版 1. ##----------主要成果与解决方案与 参与项目1 ###开发流程系列1 ###架构系列 (au1 ###编程语言系列与架构系 ...

  9. 又见蒙特卡洛——python模拟解决三门问题

    三门问题很有意思,wiki用不同方法将原理讲的很透彻了,我跟喜欢其中这种理解方式:无论参赛者开始的选择如何,在被主持人问到是否更换时都选择更换.如果参赛者先选中山羊,换之后百分之百赢:如果参赛者先选中 ...

随机推荐

  1. CentOS 5.x版本升级PHP

    #-----------------------------CentOS 5.x版本升级PHP------------------#! /bin/sh #1.关闭selinuxcp -rp /etc/ ...

  2. ASP.NET中application对象

    ASP.NET中application对象的使用. Application对象的应用  1.使用Application对象保存信息  (1).使用Application对象保存信息  Applicat ...

  3. mysql存储引擎(mysql学习六)

    存储引擎 现在只有InnoDB支持外键 上接着学习笔记五 class表中有外键,所以不能修改存储引擎 表类型   默认的服务器表类型,通过my.ini可以配置    Default-storage-e ...

  4. System.Transaction (TransactionScope) 与 可提升 (Promotable) 交易

    这是我的备份,原文请看  http://www.dotblogs.com.tw/mis2000lab/archive/2014/11/12/transactionscope_promotable_tr ...

  5. Toast提示信息

    用Toast来作为操作成功以及用户误操作等等的提示,非常的简单.直接上代码: 创建方式一: ps: 此处没有设置toast的其他属性,均使用默认的风格(个人觉得默认的风格除了字体比较小之外 还是挺好看 ...

  6. 关于 mvc 中 连字符 - 和下划线 _转换的问题。

     [潜水]大崔||哈尔滨(759666247) 10:02:16  如图   C#不承认 “-”[知府]古道今-湖北\xig<systemobject@126.com> 10:03:54  ...

  7. 10-排序5 PAT Judge

    用了冒泡和插入排序 果然没有什么本质区别..都是运行超时 用库函数sort也超时 The ranklist of PAT is generated from the status list, whic ...

  8. 转 在SQL Server中创建用户角色及授权(使用SQL语句)

     目录 要想成功访问 SQL Server 数据库中的数据 我们需要两个方面的授权 完整的代码示例 使用存储过程来完成用户创建 实例 要想成功访问 SQL Server 数据库中的数据, 我们需要两个 ...

  9. 微信支付开发,再次签名,APP调用

    1.商户服务器生成支付订单,先调用[统一下单API]生成预付单,获取到prepay_id后将参数再次签名传输给APP发起支付. 再次生成签名的时候,按照接口: https://pay.weixin.q ...

  10. hdu 3549 Flow Problem

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=3549 Flow Problem Description Network flow is a well- ...