本文主要是介绍概率中的 50 个具有挑战性的问题 [05/50]:正方形硬币,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、说明
图片由作者使用 DALL-E 3 提供。
在一个普通的嘉年华游戏中,玩家将一分钱从大约 5 英尺的距离扔到一张 1 英寸正方形的桌子表面上。如果一分钱(直径 3/4 英寸)完全落在正方形内,玩家将获得 5 分钱,但不会拿回他的一分钱;否则他会失去一分钱。
问:如果一分钱落在桌子上,他获胜的机会有多大?
溶液:
为了获胜,一分钱必须完全落在正方形内。这意味着硬币的中心不得在正方形任何一侧的 3/8 英寸(硬币半径)范围内,如下所示:
硬币的中心不得在正方形任何一侧的 3/8 英寸范围内。
这种约束导致硬币的中心必须落入一个区域(由黄色方块表示),如下所示。正方形的边长可以很容易地计算为 1/4 英寸。
硬币的中心必须落入边长为 1/4 英寸的黄色正方形中。
获胜的概率等同于硬币中心位于黄色方块上的概率与硬币中心位于蓝色方块中任何区域的概率之比。下面,我们可以计算这个比率并得出结论,获胜的概率是 1/16。
获胜概率。
总之,如果一分钱落在桌子上,他获胜的机会是 1/16。
Python 代码:
import numpy as npn_simulations = 1000000
total_win = 0for _ in range(n_simulations):# Let the lower left corner of the square be the coordinate (0,0)# Let the coordinate of the center of the coin be (x,y)x, y = np.random.random(size=2)# Center of the coin must NOT be within 3/8 inch of any side of the square.if (x > 3/8) and (y > 3/8) and (1-x > 3/8) and (1-y > 3/8):total_win += 1prob_win = total_win/n_simulationsprint(f"Probability of winning = {prob_win:.4f}")# Output:
# Probability of winning = 0.0625 (=1/16)
这就是这个硬币📀问题的全部内容。欢迎任何反馈或问题!该代码可在我的 Github 上找到。请继续关注本系列的下一部分!:)
这篇关于概率中的 50 个具有挑战性的问题 [05/50]:正方形硬币的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!