在go语言中实现蒙提霍尔(三门问题)示例代码
Go  /  管理员 发布于 9个月前   234
三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,
大致出自美国的电视游戏节目Let's Make a Deal。问题名字来自该节目的主持人蒙提·霍尔(Monty Hall)。
在某个电视节目比赛环节中,参赛者会看见三扇关闭了的门,
其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。
参赛者选定了一扇门,但未开启它,
随后节目主持人蒙提霍尔(Monty Hall)开启了剩下的两扇门中的一扇并且发现后面是一只山羊,
此时主持人会给予选手重新选择的机会。
问题是:
此时参赛者换另一扇门会否增加赢得汽车的机率?
代码示例:
package main
import (
"fmt"
"math/rand"
"time"
)
var (
choose, answer int
successChange, successKeep, successUnknownChange = 0, 0, 0
)
func main() {
rand.Seed(time.Now().UnixNano())
for i := 0; i < 10000; i++ {
choose = rand.Intn(3)
answer = rand.Intn(3)
//不换且正确
if answer == choose {
successKeep++
}
//主持知道答案,排除一个,选择换(第一次选中换后不可能选中)
if (choose+1)%3 == answer || (choose+2)%3 == answer {
successChange++
}
//主持不知道答案,随机排除,选择换
newChoose := (choose + rand.Intn(2)) % 3
if newChoose == answer {
successUnknownChange++
}
}
fmt.Println(successChange)
fmt.Println(successKeep)
fmt.Println(successUnknownChange)
}
输出:
~/projects/go_test$ go run main.go
6586
3414
3369
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号