体育彩票几率计算?
体育彩票的概率,其实是一个很复杂的问题。因为,你要搞清楚概率事件是“某项比赛结果”还是“某一注或几注的投注结果”! 如果你说的概率是前者——比如你问:买足彩胜负平(14场),选九场比赛全中头奖率有多高?那么这个概率计算起来就相当麻烦了。因为你这个问题等价于计算从0到9这十个数字中,任选九个数字出现的可能性。这个问题显然不是计算机能够轻松计算的,就算能用软件算出来,速度也是慢得出奇。而且,最后的结果也只是一个理论值——因为这个计算没有考虑彩民们的投注策略,而不同投注策略的组合,会大大影响实际的中奖情况。
这里我们讨论的是体彩传统玩法,即跟单场胜负相关的游戏,而不是篮球、足球的竞猜玩法(我后面专门写过一篇竞猜玩法的文章,有兴趣的可以看看)。由于传统玩法有“任九”“14场胜负”和“竞猜玩法”三种模式,因此我们的讨论也有这三部分的划分。 为了讨论方便,假定我们把上述问题简化成以下两个问题:
一. 如何计算从0到9这十个数字中任意选择9个数字的可能性? 二. 如果第一种可能性确定了,那有没有一种方法可以确保选中这些号码,至少一次? 第一个问题是概率问题,很好解决;第二个问题就是算法问题了,有一定技巧性。
一. 概率问题很容易搞定,假设我们有如下数据表: 然后根据概率公式,我们可以轻易算出每个号码出现的概率,以确定中奖概率: 二. 算法问题就有点复杂了。要设计一个算法,使得我们的投注号至少有一次命中,那么首先就需要知道哪些号码是我们不需要的——也就是所谓的“弃码”。这方面可以参考“排列组合”中的“插空法”,先确定弃码,再找一组数使它们不重复地出现在9个号码位中。
当然,这样的算法是无法保证一定命中一次的(因为概率的原因),如果想要保证必中,则需要对算法进行优化。这里就不阐述了。 以上,是一个比较完整的概率与算法流程。用代码实现的话,可以写成这样: 当然,这个程序还需要改进,比如对输入的数据进行校验等等。