取快递的数学问题:手机尾号的重复概率

学校门口,四位手机尾号取快递。问:设有 \(n\) 个包裹,则存在两个包裹号码(收件人手机尾号,假设均匀分布)相同的概率 \(P(n)\) 是多少?

答曰:手机尾号一共有 \(10^4=10000\) 个,所以 \( P(n)=\frac{A_{10000}^n}{(10000)^n} \), 其中 \(A_n^r\) 为排列数。

求出表达式非常简单,然而计算具体值时却遇到了麻烦:分子和分母都太大了,IEEE 754 浮点数受不了了,直接扔给我个 Infinity.

怎么办呢?把排列数展开,取对数,乘除变加减:

\( \log{P(n)} \)

\( = \log{\frac{A_{10000}^n}{(10000)^n}} \)

\( =\log{A_{10000}^n}-n\log{10^4} \)

\( =\log{10^4(10^4-1)\cdots(10^4-n+1)}-4n\log{10} \)

\( =\log{10^4}+\log{(10^4-1)}+\cdots+\log{(10^4-n+1)}-4nlog{10} \)

不想这么麻烦的话,也有很精确的阶乘近似公式可用(这里就不限于整数了):

\( \left\{\begin{matrix} n! = \Gamma(n+1) \\ \ln\Gamma(z) \approx \tfrac{1}{2} \left[\ln(2\pi) - \ln z\right] + z\left[\ln\left(z + \frac{1}{12z - \frac{1}{10z}}\right) - 1\right] \end{matrix}\right. \)

总之,最后能算出来具体的数。下面列出 n 取某些特殊值时的概率:

n 20 40 60 80 100 120 140 160 180 200
P(n) 2% 8% 16% 27% 39% 51% 62% 72% 80% 87%

\([20, 200]\) 区间内 \(y=P(x)\) 的函数图像如下(只有 \(x\) 等于整数的点有实际意义):

看起来有点反直觉:重复的概率怎么这么大?确实这么大,只要手机尾号是均匀分布的。

不过,自己的号跟某个人的号一样(存在某个人跟自己同号)的概率并不大:

所以,重号的概率不小,但自己碰上的概率就很小了。(不过那大得吓人的重号概率还是很反直觉……)

时间: 2024-12-28 02:30:37

取快递的数学问题:手机尾号的重复概率的相关文章

第三届蓝桥杯javaC组_手机尾号

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: 蓝桥杯赛题 * 作    者:   彭俊豪 * 完成日期:   2016   年 04月 01日 * 版 本 号:      001 * 对任务及求解方法的描述部分 * 问题描述: 30年的改革开放,给中国带来了翻天覆地的变化.2011全年中国手机产量约为11.72亿部.手机已经成为百姓的基本日用品

烟大ACM新秀赛 E手机尾号评分

Description 30年的改革开放,给中国带来了翻天覆地的变化.2011全年中国手机产量约为11.72亿部.手机已经成为百姓的基本日用品! 给手机选个好听又好记的号码可能是许多人的心愿.但号源有限,只能辅以有偿选号的方法了. 这个程序的目的就是:根据给定的手机尾号(4位),按照一定的规则来打分.其规则如下: 1. 如果出现连号,不管升序还是降序,都加5分.例如:5678,4321都满足加分标准. 2. 前三个数字相同,或后三个数字相同,都加3分.例如:4888,6665,7777都满足加分

08简单推导:手机尾号评分

[题目] 30年的改革开放,给中国带来了翻天覆地的变化.2011全年中国手机产量约为11.72亿部.手机已经成为百姓的基本日用品! 给手机选个好听又好记的号码可能是许多人的心愿. 但号源有限,只能辅以有偿选号的方法了. 这个程序的目的就是:根据给定的手机尾号(4位),按照一定的规则来打分.其规则如下: 1. 如果出现连号,不管升序还是降序,都加5分.例如:5678,4321都满足加分标准. 2. 前三个数字相同,或后三个数字相同,都加3分.例如:4888,6665,7777都满足加分的标准. 注

YTUOJ-手机尾号评分

题目描述 30年的改革开放,给中国带来了翻天覆地的变化.2011全年中国手机产量约为11.72亿部.手机已经成为百姓的基本日用品! 给手机选个好听又好记的号码可能是许多人的心愿.但号源有限,只能辅以有偿选号的方法了. 这个程序的目的就是:根据给定的手机尾号(4位),按照一定的规则来打分.其规则如下: 1. 如果出现连号,不管升序还是降序,都加5分.例如:5678,4321都满足加分标准. 2. 前三个数字相同,或后三个数字相同,都加3分.例如:4888,6665,7777都满足加分的标准.注意:

抓取快递100数据,进行快递查询

8月份换了份工作,是做物流行业相关系统的,有时会需要查询外部快递接口,进行快递跟踪查询,这里就抓取快递100数据进行简单介绍. 需要的朋友可以参考下. 先上效果图: 下面我们一步一步来讨论如何实现这样的功能. 1.准备工作:获取快递100 Json数据 由上图我们发现 快递100的查询路劲为:http://www.kuaidi100.com/query?type=yuantong&postid=5714113854&id=1&valicode=&temp=0.1968950

如 何 探 测 到 周 围 人 的 手 机 号 码 ? _必看教程

▲[电:153xx2376xx1028]如 何 探 测 到 周 围 人 的 手 机 号 码 ? [此.信.息.永.久.有.效][熊二的天下]眼下正值黑龙江省地产香瓜陆续上市的季节,有消费者向记者反映,在黑龙江省香瓜主产区绥化市兰西县,一些瓜农为了增加香瓜的甜度,会给正在生长期的香瓜喷洒增甜剂.那么喷洒所谓的增甜剂就能让香瓜变甜吗?这种增甜剂到底是什么?通过喷洒增甜剂变甜的香瓜会不会对人体有害呢?[熊201019]..万法归宗 原文地址:http://blog.51cto.com/14029698

java抓取快递100信息接口

1 package zeze; 2 3 import java.io.IOException; 4 5 import org.json.JSONArray; 6 import org.json.JSONException; 7 import org.json.JSONObject; 8 import org.jsoup.Connection; 9 import org.jsoup.Jsoup; 10 import org.jsoup.nodes.Document; 11 import org.j

教研室的下午,取快递的一天

hi! 今天在教研室感觉完全没有看论文的状态,不如学点其他的. 1.JS -JS的对象定义和PHP有所不同,又有相通的地方,学起来有点意思,感觉用好了会很熟练,上手有点难度 <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>日期对象 </title

java抓取快递信息

package zeze; import java.io.IOException; import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class TestJsoup { public Document getDocument(Str