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

相关推荐
苍何26 分钟前
万字保姆级教程:Hermes+Kimi K2.6 打造7x24h Agent军团
后端
我叫黑大帅29 分钟前
为什么map查找时间复杂度是O(1)?
后端·算法·面试
aq55356002 小时前
编程语言三巨头:汇编、C++与PHP大比拼
java·开发语言
我是无敌小恐龙2 小时前
Java SE 零基础入门Day01 超详细笔记(开发前言+环境搭建+基础语法)
java·开发语言·人工智能·opencv·spring·机器学习
FreeCultureBoy2 小时前
用 phpbrew 管理 php 环境:从安装到多版本切换
后端·php
FreeCultureBoy3 小时前
用 jenv 管理 Java 环境:从安装 JDK 到多版本切换
后端
心态与习惯3 小时前
Julia 初探,及与 C++,Java,Python 的比较
java·c++·python·julia·比较
IT_陈寒3 小时前
Vite的热更新突然失效,原来是因为这个配置
前端·人工智能·后端
考虑考虑3 小时前
SQL语句中的order by可能造成时间重复
数据库·后端·mysql
一叶飘零_sweeeet3 小时前
优秀文章合集
java