投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万注,还有连号,这个就不清楚了。平时买彩票,仅供娱乐,这种规则下大部分人一定是赔的。小买怡情,大买啥都么有。

相关推荐
q***47184 分钟前
Spring中的IOC详解
java·后端·spring
vx_vxbs6617 分钟前
【SSM电影网站】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·python·mysql·小程序·php·idea
SunnyDays101140 分钟前
如何使用 Java 删除 Word 文档中的水印
java·删除word文档水印
码事漫谈1 小时前
C++小白最容易踩的10个坑(附避坑指南)
后端
码事漫谈1 小时前
性能提升11.4%!C++ Vector的reserve()方法让我大吃一惊
后端
毕设源码-邱学长1 小时前
【开题答辩全过程】以 基于Java企业人事工资管理系统为例,包含答辩的问题和答案
java·开发语言
转转技术团队1 小时前
回收系统架构演进实战:与Cursor结对扫清系统混沌
java·架构·cursor
AI分享猿1 小时前
Java后端实战:SpringBoot接口遇异常请求,轻量WAF兼顾安全与性能
java·spring boot·安全
稚辉君.MCA_P8_Java2 小时前
Gemini永久会员 Java中的四边形不等式优化
java·后端·算法
DKPT2 小时前
ZGC和G1收集器相比哪个更好?
java·jvm·笔记·学习·spring