50 个具有挑战性的概率问题 [01/50]:袜子抽屉

一、说明

        我最近对与概率有关的问题产生了兴趣。我偶然读到了弗雷德里克·莫斯特勒(Frederick Mosteller)的《概率论中的五十个具有挑战性的问题与解决方案》(Fifty Challenge Problems in Probability with Solutions)一书。我认为创建一个系列来讨论这些可能作为面试问题出现的迷人问题会很有趣。每篇文章只有 1 个问题,使其成为一个总共有 50 个部分的系列。让我们潜入并激活我们的脑细胞!

提供

 

二、案例说明

        抽屉里有红色袜子和黑色袜子。当随机抽取两只袜子时,两只袜子都是红色的概率是 1/2。

        问题:
        (甲)抽屉里的袜子数量可以有多少?
        (乙)如果黑袜子的数目相等,会有多小?

三、问题1的解决方案 

3.1 问题分析

        (甲)抽屉里的袜子可以多小?
        首先,我们知道随机抽取 2 只袜子,两只袜子都是红色的概率是 1/2。这个陈述可以在数学上表示为两个概率的乘积:第一次抽奖时抽到红袜子的概率乘以第二次抽奖时抽到红袜子的概率。

        设袜子总数为,红色袜子总数为 r。那么在第一次抽奖时抽到红袜子的概率是 r/n。由于已经抽到了红袜子并且没有进行替换,因此在第二次抽签中抽到红袜子的概率为 (r-1)/(n-1)。

        这可以使用数学进一步解决,但在面试环境中,应用一些逻辑推理可能是面试所寻找的,特别是因为问题只要求找到最小的数字。甚至在使用上面的等式解决这个问题之前,我们就应该知道袜子的总数不能是 1,因为画了两只袜子,也不能是 2,因为两只袜子都是红色的概率既不是 0 也不是 1。因此,我们可以从 3 开始测试 n 的值。

因此,袜子的最小数量为 4 只。

3.2 Python 代码 

n = 3   # total number of socks (at least 3)
r = 2   # min number of red socks (at least 2)
p = 0   # initialize probability of drawing 2 red socks (without replacement)while True:for r in range(2,r+1):p = (r/n)*((r-1)/(n-1))if p == 0.5:breakif p == 0.5:print(f'n = {n}, r = {r}')breakn += 1r += 1# Output:
# n = 4, r = 3 (total socks: 4, total red socks: 3)

四、问题2的解决方案

4.1 问题分析

(乙)如果黑袜子的数目相等,会有多小?
        在前面的答案中,黑色袜子的数量是 4 - 3 = 1(奇数)。对于这个问题,我们需要稍微转换等式。

        由此,我们可以得到 2 个不等式:

        我们可以将 n 表示为 b+r,其中 b 是黑色袜子的数量,我们得到:

        如果您有兴趣,以下是详细的数学计算:

·然后我们可以开始测试偶数 b 的值。

因此,如果黑色袜子的数量是偶数,则袜子的最小数量是 15+6=21。

4.2 Python 代码 

n = 3   # total number of socks (at least 3)
r = 2   # min number of red socks (at least 2)
p = 0   # initialize probability of drawing 2 red socks (without replacement)while True:for r in range(2,r+1):if (n-r)%2 == 0:p = (r/n)*((r-1)/(n-1))if p == 0.5:breakif p == 0.5:print(f'n = {n}, r = {r}')breakn += 1r += 1# Output:
# n = 21, r = 15 (total socks: 21, total red socks: 15)

        这就是这个袜子🧦问题的全部内容。欢迎任何反馈或问题!该代码可在我的 Github 上找到。请继续关注本系列的下一部分!:)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

制作程序化装饰花纹图案_装饰图案

制作程序化装饰花纹图案装饰图案 我不经常使用的一种设计模式是Decorator 。 我不确定为什么这种模式不受欢迎,因为它很方便。 装饰器模式允许以受控方式向对象添加功能。 即使在使用静态类型的语言时,也可以在运行时运行! 装饰器模式是子类的…

6个您需要了解的日志管理工具(以及如何使用它们)

如果没有正确的工具来汇总和解析日志数据,则几乎不可能找到并了解您正在寻找的信息。 日志有无穷无尽的用途,因为日志本身是无止境的。 应用程序日志,安全日志,BI日志, 林肯日志 (好吧,也许不是…

JDK 12开关表达式遇到意外的枚举值

正如我在“ 玩JDK 12的Switch表达式 ”一文中所写的那样, JDK 12 Early Access Build使JEP 325的实现(“ Switch Expressions(Preview)”)的实验变得容易。 我的帖子“ JDK 12:实际中的切换语句/表达式 ”使…

Matlab画图线型、符号及颜色设置

1. matlab 中线条的主要属性 Color: 颜色LineStyle: 线型LineWidth: 线宽Marker: 标记点的形状MarkerFaceColor: 标记点填充颜色MarkerEdgeColor: 标记点边缘颜色MarkerSize: 标记点大小 2. 各种属性的名称 2.1 线型 -Solid line (default) – Dashed line : Dotted line …

休眠面试问答-最终清单

这是有关Hibernate Framework的一些最重要问题的摘要,可能会要求您在访谈中回答! 您无需担心下一次面试的机会,因为Java Code Geeks在这里为您服务! 您可能会被问到的大多数事情都收集在下面的列表中。 我们的Hibernate面试问题将…

matlab 进度条/waitbar 显示运行进度

当运行大程序,需要跑大量数据的时候,使用进度条可以看到程序究竟运行到什么地方了,哈哈,要不干等着难受(╯﹏╰)…… waitbar的作用是打开或者更新进度条。 1 语法结构 (1.1) h waitbar(x,‘message’) x表示进度条的比例长度…

MATLAB 命令 BOXPLOT

Matlab中有关boxplot(X)命令的解释: boxplot(X) produces a box and whisker plot for each column of the matrix X. The box has lines at the lower quartile, median, and upper quartile values. Whiskers extend from each end of the box to the adjacent v…

latex-bib参考文献人名特殊字符

https://blog.csdn.net/weixin_43413198/article/details/105468843

Matlab RGB 颜色对照表(0-1之间取值)

https://blog.csdn.net/qq_38882446/article/details/100886087

空间点过程(Point Processes)和随机测度(Random Measure)

1 空间点过程与随机测度(一):从数星星说起 1.1 数星星的数学 小时候,在晴朗的夜里,我喜欢仰望星空,去数天上的星星——那是无忧无虑的快乐童年。长大后,当我们再度仰望苍穹,也许会思…

add a legend to a boxplot in MATLAB

1. 给同组数据分类加legend figure; colors [1 0 0; 1 0 0; 0 0 1; 0 0.5 0; 0 0.5 0; 0 0.5 0]; x boxplot(rand(100,6),Colors,colors); legend(Group A,Group B,Group C)2.给不同组数据加legend box_vars findall(gca,Tag,Box); hLegend legend(box_vars([8,6]), {N…

JavaFX技巧31:遮罩/剪切/ Alpha通道

选择条 最近,我不得不实现一个自定义控件,该控件使用户可以从项目列表中选择一个项目。 此“ SelectionStrip”控件必须水平放置项目,并且在项目过多的情况下,允许用户左右水平滚动。 该控件将在空间受限的区域中使用,…

通信中的频谱效率与能量效率

频谱效率(Spectral Efficiency) 频谱效率(Spectral Efficiency,SE)简称谱效,也称系统容量、频带利用率。 该指标用来衡量系统的有效性,描述了能够提供多少容量。 它定义为系统传输的有效信息速率R除以通信信道带宽B&a…

积分公式大全

https://kexue.fm/sci/integral/ 《积分公式大全》网络版本——By BoJone 引用原作者的话: 本附件所有公式来自《高等数学第三版》。   该书信息:同济大学数学教研室编,高等教育出版社,1988年4月第三版,ISBN 7-04-0…

Latex快速入门系列 -- 在TexStudio中正确插入参考文献的基本操作

目录 1 操作流程2 四种基本的文献格式比较3 文献数据库.bib的编写 1. 操作流程 1.1 创建文章主文件。Ctrl N 新建一个文件,Ctrl S 手动保存,保持文件后缀名.tex。得到一个.tex文件:文章名.tex,该文件用来编写你的文章的具体内…

MongoDB索引策略和索引类型

1. MongoDB索引策略和索引类型–简介 MongoDB是一个开放源代码,面向文档的跨平台数据库,它使用C 开发,并且是最流行和使用最广泛的NoSQL类型数据库之一。 它可在具有键-值对的类JSON文档的顶部运行,其键值对在每个文档中都无法定义…

zeal刷新不出来_推进重涂市场标准化,立邦率先推出刷新服务“八大验收标准”...

点击蓝字【立邦中国】,设置星标关注。7月,立邦刷新服务率先在墙面重涂行业提出突破性的“八大验收标准”,根据不同的涂刷工艺来采用定制化的验收标准,更进一步推动重涂市场的标准化和规范化。自2011年推出立邦刷新服务至今&#x…

初学者指南:如何为Red Hat Process Automation Manager配置电子邮件服务任务

最近,我一直在更新我的免费在线研讨会 ,特别是基于JBoss BPM Suite的系列研讨会 ,以便您可以开始使用较新的Red Hat Process Automation Manager 。 在本文中,我将分享我在自动化项目中尝试使用电子邮件通知时偶然发现的内容。 …

TDMA 时分多路复用

多路复用 一、什么是多路复用技术? 多路复用技术是把若干个低速信道组成一个高速信道的技术,可以提高数据链路利用率,从而使一条高速的主干链路同时为多条低速的接入链路提供服务,即使网络主干链路可同时运载大量的语音和数据传…

asp 取数据 计算_ASP.NET Core 简介

.NET Core 是 .NET Framework 的新一代版本,是微软开发的第一个具有跨平台 ( Windows、Mac OSX 、Linux ) 能力的应用程序开发框http://ASP.NET Core 是 Microsoft 新开发的,基于 .NET Core 的 Web 开发框架http://ASP.NET Core 是对 http://ASP.NET 的重…