|
分享源码
界面截图: |
- |
是否带模块: |
- |
备注说明: |
- |
三门问题(Monty Hall problem),出自美国的电视游戏节目。
参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。
当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊。
主持人其后会问参赛者要不要换另一扇仍然关上的门。
问题是:换另一扇门是否会增加参赛者赢得汽车的机率。
如果严格按照上述的条件,那么答案是会。不换门的话,赢得汽车的几率是1/3。换门的话,赢得汽车的几率是2/3。
虽然该问题的答案在逻辑上并不自相矛盾,但十分违反直觉。这问题曾引起一阵热烈的讨论。
遇到了问题:
随机方法一,得到的结果是2/3左右
判断循环首 (x < 取随机数 (1, 10 )) 置随机数种子 ()x = x + 取随机数 (1, 10 )i = 取随机数 (1, 3 )判断循环尾 ()
随机方法二,得到的结果居然是 常人所认为的 1/2 左右
i=取随机数(1,3)
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | random | 整数型 | 3 | number | 整数型 | | hit | 整数型 | | 启动线程 (&方式1, , ) 变量名 | 类 型 | 静态 | 数组 | 备 注 | index | 整数型 | | | originalChoice | 整数型 | | | 判断循环首 (真)打乱1 ()置随机数种子 ()index = 取随机数 (1, 3 )循环判断首 ()originalChoice = 取随机数 (1, 3 )循环判断尾 (originalChoice = index )如果真 (random [index ] = 0 )number = number + 1 如果真 (random [originalChoice ] = 0 )hit = hit + 1 判断循环尾 ()变量名 | 类 型 | 静态 | 数组 | 备 注 | index | 整数型 | | | originalChoice | 整数型 | | | 判断循环首 (真)打乱2 ()置随机数种子 ()index = 伪随机数 ()循环判断首 ()originalChoice = 伪随机数 ()循环判断尾 (originalChoice = index )如果真 (random [index ] = 0 )number = number + 1 如果真 (random [originalChoice ] = 0 )hit = hit + 1 判断循环尾 ()判断循环首 (x < 取随机数 (1, 10 )) 置随机数种子 ()x = x + 取随机数 (1, 10 )i = 取随机数 (1, 3 )判断循环尾 ()返回 (i )重定义数组 (random, 假, 3 )random [取随机数 (1, 3 )] = 1 判断循环首 (x < 取随机数 (1, 10 )) 置随机数种子 ()x = x + 取随机数 (1, 10 )重定义数组 (random, 假, 3 )random [取随机数 (1, 3 )] = 1 判断循环尾 ()调试输出 (格式化文本 (“Number of experiments: %d, Number of hits: %d, Probability: %f”, number, hit, 四舍五入 (hit ÷ number × 100, 3 )) + “%”)
|
-
|