三门问题JS

//JS代码,按F12打开你们的浏览器,选择最后一项console 把下面代码复制进去 然后回车看结果  
//反正我得出的交换后结果是 次数10000 成功6288 失败3712 用两个斜杠注释掉交换后为 成功2680  
//失败 6320 如果觉得代码哪里写错了求打脸  
//计算随机数  
//计算随机数
function GetRandomNum(Min,Max)
{   
	var Range = Max - Min;   
	var Rand = Math.random();   
	return(Min + Math.round(Rand * Range));   
}


var door = new Array();
var num;
var choose_num;
var choose;
var other_door = new Array();
var change;
var tryTime=0;
var success=0;
var failure =0;
for(var i=0; i<10000; i++)
{
	door[0] = 0;
	door[1] = 0;
	door[2] = 0;
	//1、假设 A B C 门随机有一个门是1
	num= GetRandomNum(0, 2);
	door[num] =1;

	//2、随机选择 A B C 门中的一个
	choose_num = GetRandomNum(0, 2);
	choose     = door[choose_num];
	//3、去除掉一个门
	var other_door_num =0;
	//3.1筛选出剩下两扇门
	for(var j=0; j<3; j++)
	{
		if(j!=choose_num)
		{
			other_door[other_door_num] = door[j];
			other_door_num++;
		}
	}
	//3.2剔除掉一个肯定没有羊的门,留下一个门(change就是剩下的门)
	if(other_door[0] == 1 )
	{
		change = other_door[0];
	}
	else{
		change = other_door[1];
	}
	
	//4、交换/ 注释掉就不交换
	choose = change;
	
	//5、成功+1 失败+1 次数+1
	if(choose == 1)
	{
		success++;
	}
	else
	{
		failure++;
	}
	tryTime++;
}
var msg = "次数:"+tryTime+"\n"+"成功:"+success+"\n"+"失败:"+failure;
alert(msg);



                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值