求双色球VB算法

来源:百度知道 编辑:UC知道 时间:2024/09/28 13:30:56
双色球共有:17721088种组合,我想用VB把这些组合写入一个文件,请高手给出相应的VB代码!!高分等候!!!

定义一个数组记录某一个值是不是已经被使用
比如有10个数供选择,那就定义a[10],赋初值0,表示没有使用,当抽取一个号码后,比如是5,那就令a[5-1]=1,求救已经使用,每次取数时判断一下取得的数i对应的a[i]是否等于0就可以了.

呵呵, 这个循环太大了..代码写了.但我没试过..
而且我不懂双色球..在网站上看了一下,只说6个红球是在1-33中选择的,1个蓝球是在1-16中选的, 也不知道红的能重复的吧.我编写的是红球不重复的循环..如果红球是可以重复的,将下面jklmn这5层循环都改成从1开始就行了

我程序试了.从1-10里面,因为使用数组,效率还是比较高的.很快就出来了.

Private Sub Command1_Click()
Dim Redball$(1 To 33), Blueball$(1 To 16)
Dim i%, j%, k%, l%, m%, n%, bi%, sl As Long, tmp

For i = 1 To 33
Redball(i) = CStr(i)
If i < 17 Then Blueball(i) = CStr(i)
Next

Dim slist(1 To 17721088)
sl = 1

For i = 1 To 33
For j = i + 1 To 33
For k = j + 1 To 33
For l = k + 1 To 33
For m = l + 1 To 33
For n = m + 1 To 33
For bi = 1 To 16
tmp = Array(Redball(i), Redball(j), Redball(k), Redball(l), Redball(m), Redball(n), Blueball(bi))
'Print tmp
slist(sl) = Join(t