如何确定自己不是高智商?蒙提霍尔三扇门问题

时间:22-04-02 栏目:问题及解决 作者:admin 评论:0 点击: 2,246 次

有一个很有意思的简单考题,许多年来我都会和遇到的聪明人探讨一下,堪称智商照妖镜,嘿嘿。
"有三扇门,其中一扇门后有宝贝,另两扇门后面空的。你先选择一扇,门不打开。主持人打开你选
择之外的一扇空的门,然后问你要不要改选?"
这个问题许多人应该看过,对这个问题感兴趣的人智商都不会低,答案五花八门,靠争论是争不赢
的,要做实验。
能光靠想象找出正确答案的,智商150以上。(没见过这题,不知道答案)
能经过提示靠想象知道正确答案的,智商140以上。(提示:不对,再想想)
知道正确答案后能理解的,智商130以上。
通过别人口头讲述能理解的,智商120以上。
看评论区,或做实验终于理解的,智商110以上。
怎么都不理解的,智商110以下.
看不懂题目的,100以下,
这个问题解答不需要知识储备,别看知乎上人均211,能完全靠自己想通透的人绝对凤毛麟角、
申明一下:我是靠无数次实验才想通透的。
发这个,不是炫耀自己。就是好玩

 

//测试(总次数, 换门)
function test(max, change)
{

//max    次数:测试的总次数
//change 换门: 0不换  1换门

var i;        //循环因子
var m;        //目标:本次中奖的目标数字
var c;        //初选:本次选手初次选择的数字
var x;        //选择:本次选手最终选择的数字
var p;        //排除:主持人排除掉没奖的数字
var z = 0;    //中奖:中奖的总次数

//循环多次模拟换门测试
for (i=0; i<max; i++)
{
m = parseInt(Math.random()*1000)%3; //目标:本次中奖的目标数字
c = parseInt(Math.random()*1000)%3; //初选:本次选手初次选择的数字

//求出主持人要排除的数字
if(m==c)
{
//选手选择了一个有奖品的,主持人从另外两个没奖品当中随机排除掉一下
p = parseInt(Math.random()*1000)%2;  //产生  false or true
switch(c)
{
case 0:  //要排除的是:2 or 1
p = p?2:1;
break;
case 1:  //要排除的是:2 or 0
p = p?2:0;
break;
case 2:  //要排除的是:1 or 0
p = p?1:0;
break;;
}
}
else
{
//选手选择了一个没奖品的,主持人排除另一个没奖品的
//3-(m+c) = p
//3-(0+1) = 2
//3-(0+2) = 1
//3-(1+2) = 0
p = 3-(m+c);
}

//决定终选
if(change)
{//换门
//x=3-(p+c)
//x=3-(0+1) = 2
//x=3-(0+2) = 1
//x=3-(1+2) = 0
x = 3-(p+c);  //换个门
}
else
{//不换门
x = c;  //最终选择和初次选择一样
}

//结果
//printf("第%02d次  初选的是:%d, 目标是:%d, 排除的是:%d, 终选的是:%d", i+1, c, m, p, x);
if(m==x)
{
//中奖了
z++;
//printf("  (中奖了)\n");
}
else
{
//没中奖
//printf("\n");
}
}
//输出结果
console.log("进行%d次测试,中奖%d次。\n\n", max, z);
}

 

声明: 本文由( admin )原创编译,转载请保留链接: 如何确定自己不是高智商?蒙提霍尔三扇门问题

如何确定自己不是高智商?蒙提霍尔三扇门问题:等您坐沙发呢!

发表评论


------====== 本站公告 ======------
联系信息:
电话:19970108113(微信同号) QQ:3142401606
支付宝:https://me.alipay.com/lxq73061
相关插件程序等信息均会在站内发布,敬请关注。

读者排行