投1万注,中2.2亿彩票?我用代码算下

前言

hi,大家好,我是大鱼七成饱。最近看到一则新闻,江西南昌某彩民投注快乐8"选七中七",全中一等奖,单注奖金4475元,总奖金达2亿多元。作为资深冤大头(老买不中,牛性不改继续买),看到这么大奖金真让两眼冒光,心跳加快,为什么我不是某彩民。喝口水冷静思考下,快乐8中奖概率真的那么高吗,无背景小民去买多少才能中呢?

要计算概率,首先看下中奖规则。

登录中国福彩网,查看7中7关键规则如下:

一句话总结就是,选7中7规则是,1到80取20个号码,如果命中了20个中的7个,则是一等奖。

然后是概率计算

针对选7玩法,本来想去网上找资料直接借用下。结果搜出了一堆观点,有说4万分之一的,还有5万分之一的,还有更离谱的说620万分之一。总之,没有人去验证下对错,果然大部分读者数学都还给老师了(笔者也是)。其实验证不难,这种彩票有专门的数学公式可以计算(这一步容易忽悠),最后用代码随机跑十几万次验证下就可以。

数学公式直接算

根据规则理,开奖时会从80个数中开出20个数,如果选择的7个数均在开出的20个数中,那么就中了一等大奖,也可以理解为选7中7。80个数选7个,有多少组合呢,用排列组合公式算下是 31 7671 6400,大约31亿种。20选7个的组合数是 77520,大约7万种。两者相除就是中奖概率。如下图用代码算下概率。

  • 排列组合公式
  • 公式计算

计算结果是,0.0000244026,大约五万分之一。那这么算对不对呢,还有6百万分之一的呢?

随机函数模拟抽奖

这步用随机函数模拟抽奖过程验证下。抽奖步骤如下:

  • 1)每次开奖时从1至80的号码中随机摇出20个号码,这20个号码组成当期开奖号码。
  • 2)玩家选择的7个球,范围1-80,不重复
  • 3)匹配是否中奖
  • 4)计算次数
  • 5)运行50万次

一等奖概率是0.00002。

结论,选7中7一等奖的概率接近五万分之一。买5万注,大概率能中一等奖,投10万块,中4千多。

最后一点思考

本文仅从数学角度窥探了下彩票。至于新闻中说的一个号买1万注,还有连号,这个就不清楚了。平时买彩票,仅供娱乐,这种规则下大部分人一定是赔的。小买怡情,大买啥都么有。

相关推荐
yxlalm8 小时前
Spring AI+RAG 01-项目背景与技术选型
java·人工智能·spring
程序员清风8 小时前
Java 后端高并发设计:线程池、限流、熔断与降级
java·数据库·oracle
码事漫谈9 小时前
多人共用一个 key,缓存命中率会不会因此降低?
后端
Seoyoneh9 小时前
Agentic Workflow编排架构:云客服从“被动响应”迈向“主动执行”的技术实现
java·开发语言·架构
海南java第二人9 小时前
对外 API 如何保证幂等性?插入数据 / 上传表格场景全方案汇总
java·幂等性
tryxr9 小时前
Chat2Excel 文件服务模块上传文件功能开发
java·项目·oss·easyexcel·文件服务
Tangyuewei9 小时前
Java 写 Agent:模型只是组件
java·开发语言
考虑考虑9 小时前
docker compose环境变量替换
运维·后端·自动化运维
彧azz10 小时前
Java学习语法篇:变量
java·学习
武雄(小星Ai)10 小时前
飞书API上传26MB文件偶发失败:错误码9499与空响应体排坑实录
后端·api·排坑实录