我想用php做出一个蒙提霍尔问题请问逻辑怎么写

发布于 2022-09-06 22:47:54 字数 1352 浏览 17 评论 0

这是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);  
          
    }  
  
}  

详情可以百度查看

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半山落雨半山空 2022-09-13 22:47:54
$a = array(false, false, false);
        $N = 10000;
        $count = 0;
        for ($i = 0; $i < $N; $i++) {
            for ($j = 0; $j < 3; $j++) {
                $a[$j] = false;
            }
            $indexOfCar = rand(0, 2); //随机生成汽车位置
            $a[$indexOfCar] = true;
            $indexOfChoose = rand(0, 2); //随机选择一个门  
            $indexOfOpen = 0;
            for ($indexOfOpen = 0; $indexOfOpen < 3; $indexOfOpen++) {
                if ($indexOfOpen != $indexOfCar && $indexOfOpen != $indexOfChoose) {
                    break;
                }
            }
            $indexOfChange = 0; //待交换的门  
            for ($indexOfChange = 0; $indexOfChange < 3; $indexOfChange++) {
                if ($indexOfChange != $indexOfOpen && $indexOfChange != $indexOfChoose)
                    break;
            }
            $indexOfChoose = $indexOfChange;
            if ($a[$indexOfChoose] == true) {
                $count++;
            }
        }
        echo $count * 1.0 / $N;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文