三色球的概率问题及算法

图片恭喜发财,文末有惊喜

 

1  问题描述

嘿!想象一下,有一个魔法口袋,里面装着 12 个球!已知其中 3 个是红的,3 个是白的,6 个是黑的。现在的任务是从这个神秘的口袋里任意抓出 8 个球,然后我们要搞清楚会有多少种有趣的搭配!

2  问题分析

首先,我们可以从 3 个红球中选出任意数量,然后再从 3 个白球中选择剩下的球,最后从 6 个黑球中选择填充剩余的位置。这样的组合方式会有很多!嘿嘿,你知道吗?这其实是一个数学问题,要去计算组合的可能性,所以我们要用一点小技巧来求解。

3  算法设计

由上述分析可知,红、白、黑三种颜色球的个数的取值范围已经确定了,现在要求的是所有可能的颜色搭配情况,因此可以使用循环结构检测 m、n 范围内的所有可能取值,再代入 8-m-n≤6 中进行验证,能够满足条件 8-m-n≤6 的那些 m、n 和 8-m-n 的组合即为问题的解。

4  确定程序框架

程序流程图如图 4.1 所示。

图片

图 4.1 程序流程图

5  完整的程序

根据上面的分析,编写程序如下:

6  运行结果

在博图下运行程序,结果如图 6.1 所示。从输出结果中可知,取出的 8 个球中,红、白、黑三色球可能的颜色搭配共有 13 种。

图片

图 6.1 运行结果

7   惊喜

7.1  首先我们使用西门子 SCL 语言计算双色球中奖概率的程序:

7.2   运行结果为:

图片

百亿分之564,有惊无喜,还是洗洗睡吧!图片图片

7.3  预测

虽然概率有点低,但是我命由我不由天

接下来我们使用python爬取双色球中奖号码的历史数据并保存,然后利用线性回归算法预测下期中奖号码,代码很长就不放上来了,网上有很多案例,有兴趣的同学可以尝试着自己编写一下。

预测结果为:

 

大家量力而行,反正我先冲了!图片图片

中奖了自己偷着乐就好,不中奖也不用回来骂我,就当为公益做贡献了。顺便也学习了算法和数据分析。图片图片图片

2023年7月

Tags: