这是java版的逻辑
import java.util.Random;
public class MengTeHuoEr {
public static void main(String[] args) {
boolean[] a = new boolean[3];//三个门
Random random = new Random();
int N = 10000;
int count = 0;
for(int i = 0; i < N; i++){//循环做N次测试
for(int j = 0; j < 3; j++)
a[j] = false;
int indexOfCar = random.nextInt(3);//随机生成汽车位置
a[indexOfCar] = true;
int indexOfChoose = random.nextInt(3);//随机选择一个门
int indexOfOpen;//主持人打开的门
for(indexOfOpen = 0; indexOfOpen < 3; indexOfOpen++){
if(indexOfOpen != indexOfCar && indexOfOpen != indexOfChoose)
break;
}
int indexOfChange;//待交换的门
for(indexOfChange = 0; indexOfChange < 3; indexOfChange++){
if(indexOfChange != indexOfOpen && indexOfChange != indexOfChoose)
break;
}
indexOfChoose = indexOfChange;
if(a[indexOfChoose] == true)
count++;
}
System.out.println(count*1.0/N);
}
}
详情可以百度查看