基于Excel的计算双色球AC值和质数的VBA程序

武汉彩票 2024-12-05 03:28:39

喜欢玩双色球的朋友应该知道两个概念,一个是AC值,另一个是质数。这两个常常被用来计算双色球的杀号。

一、什么是AC值

AC值(数字复杂度)是指在一组号码组合中,任意两个数字之间不相同的正差值的总个数再减去“正选号码数量-1”的值‌。AC值在一定程度上反映了号码的离散性,常用于评估乐透型彩票号码的价值。‌

二、什么是质数

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。

三、在Excel表格上怎么计算AC值和质数个数的方法

1、新建一个工作表

工作表添加数据如下图。

数据来源可进我的主页,看相关文章。

2、添加一个命令按钮

在命令按钮的Click事件里添加vba代码,点击保存。点击命令按钮运行,结果如下图。

三、计算AC值和质数个数的vba程序

Dim i As Integer, j As Integer, k As IntegerDim m As Integer, l As IntegerDim count As Integer, count1 As IntegerDim valuesArray() As VariantReDim valuesArray(23, 33)Range("I3:O24").ClearContentsRange("I3:O24").Interior.Color = xlNoneRange("I3:O24").Font.Bold = FalseFor i = 3 To 23 count = 0 For j = 1 To 6 For m = 2 To Val(Cells(i, j + 2) - 1) If Cells(i, j + 2) Mod m = 0 Then Exit For End If Next m If (m = Cells(i, j + 2)) Then count = count + 1 '质数个数计数 Next Cells(i, 10) = countNextFor i = 3 To 23 count1 = 0 For j = 1 To 5 For k = j + 1 To 6 valuesArray(i, Abs(Cells(i, k + 2) - Cells(i, j + 2))) = Abs(Cells(i, k + 2) - Cells(i, j + 2)) Next count = 0 For l = 1 To 33 If valuesArray(i, l) > 0 Then count = count + 1 'AC值计数 End If Next Next Cells(i, 9) = count - 5 'AC值Next
1 阅读:56