《我用WPS进行抽奖号码预测》

不说话 ✘
不说话 ✘

创作者俱乐部成员

《我用WPS进行抽奖号码预测》

突发奇想,想用表格进行预测彩票抽奖号码。

我们假设抽奖号码为0~9,选择一个号码进行投注,1注2元,如果投注号码与开奖号码相同则中奖5元,如果投注号码与开奖号码不相符,则未中奖。

如果想要增加中奖几率,我的想法很简单,通过开奖历史数据,找到出现频率最少的号码,就是下一期的预测号码。

按照几率来讲,在开奖次数接近无穷多时,0~9号码中,每个号码出现的几率都是一样的,那么我们就按照历史数据中出现频率最少的号码进行购买,就能提高我们的中奖几率。

假设我们的历史开奖号码在C列,我们使用以下代码遍历C列,找出出现次数最少的数字,将它填写至G2单元格中:

Sub FindLeastFrequentNumber()

Dim rng As Range

Dim cell As Range

Dim countArr(0 To 9) As Long

Dim leastFreq As Long

Dim leastFreqNum As Long

Dim i As Long

' 设置要统计的范围为C列

Set rng = Range("C1:C" & Cells(Rows.count, "C").End(xlUp).Row)

' 统计每个数字出现的次数

For Each cell In rng

If IsNumeric(cell.Value) Then

If cell.Value >= 0 And cell.Value <= 9 Then

countArr(cell.Value) = countArr(cell.Value) + 1

End If

End If

Next cell

' 找出出现次数最少的数字

leastFreq = WorksheetFunction.Min(countArr)

For i = 0 To 9

If countArr(i) = leastFreq Then

leastFreqNum = i

Exit For

End If

Next i

' 将最少出现次数的数字填充到G2单元格中

Range("G2").Value = leastFreqNum

End Sub

从10月14日开始投注,截止10月28日,共中奖4次,即获得奖金20元;可是我们投注了15次,共花费了30元,所以实际是亏损了10元的。如果这个时候我们反应过来,其实奖金与中奖几率并不相符时,我们应该是不会再玩了的,是可以及时止损的最佳时机。

但这个时候有人告诉你,有一种必胜的投注方法,可以保证100%盈利的,你是否会很心动——马丁格尔法。这是一种通过逐渐增加投注金额来弥补之前的亏损,获取盈利的方法。

这个的原理就是,假设在开奖次数接近无穷多时,0~9号码中,每个号码出现的几率都是一样的,当我们投注历史数据中出现频率最少的号码时,我们总会中奖的。

例如,当我在10月14日开奖中,没有中奖,那么在15日投注时,我就投2注,今天当我中奖时,我就能弥补14日亏损的2元,并且还有额外8元的奖金。

这么一看,似乎确实是必胜的方法,例如10月21起,我们连续5天没有中奖,那么我们在第6天时,按照前面的方法(未中奖1注,第二天我们就投双倍注),我们已经投了1+2+4+8+16=31注,在26号时,我们就应该投注31+32=63注。

我们发现,这个方法确实有用,但需要我的投注资金足够多,我们按照一开始设想的每个号码出现的几率都是一样的,那么是1/10,如果运气很差,那么只要我坚持投注10次,也能稳赚不赔,

我需要准备的投注金额是1023注2046元,就能实现稳赚不赔了。


那么我们继续玩,更改一下代码,只要开奖结果出来,就能自动生成新的预测号码:

Sub FindLeastFrequentNumber()

Dim rng As Range

Dim cell As Range

Dim countArr(0 To 9) As Long

Dim leastFreq As Long

Dim leastFreqNum As Long

Dim i As Long

Dim lastRow As Long

' 设置要统计的范围为C列

Set rng = Range("C1:C" & Cells(Rows.count, "C").End(xlUp).Row)

' 统计每个数字出现的次数

For Each cell In rng

If IsNumeric(cell.Value) Then

If cell.Value >= 0 And cell.Value <= 9 Then

countArr(cell.Value) = countArr(cell.Value) + 1

End If

End If

Next cell

' 找出出现次数最少的数字

leastFreq = WorksheetFunction.Min(countArr)

For i = 0 To 9

If countArr(i) = leastFreq Then

leastFreqNum = i

Exit For

End If

Next i

lastRow = Cells(Rows.count, "C").End(xlUp).Row

Cells(lastRow + 1, "D").Value = leastFreqNum

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("C:C")) Is Nothing Then

Application.EnableEvents = False

FindLeastFrequentNumber

Application.EnableEvents = True

End If

End Sub

可当我们继续往下玩时,我却输光了,这时才会发现,我犯了错:

0~9号码中,每个号码出现的几率都是一样的,当我们投注历史数据中出现频率最少的号码时,我们总会中奖的

我错误地以为,哪怕运气再差,只要我坚持投注10次,就能稳赚不赔。开奖号码也不会因为历史数据号码的频率变少,而提升出现的几率,每个号码每次出现的几率就是10%,独立的10%。所以我只是在拿钱不断地去赌这10%的几率。只要有一次投注金额高于我的本金,我就会输得精光。

其实如果一开始就能明白,投注2元只是在赌有10%的几率,得到一次本金增加1.5倍的机会,这么一想,其实并不划算,冒着损失本金的风险,只赚1.5倍的利润。

那么你们还会对抽奖感兴趣吗?

四川省
浏览 998
收藏
5
分享
5 +1
1
+1
全部评论 1
 
孙璐阳
孙璐阳

创作者俱乐部成员

真的能中奖吗?哈哈中奖了告诉我一声,我来膜拜
· 广东省
回复