说明:
组合 --- 从N个自然数中取M个数组成一组,这组数就是从N中取M的组合。
组合的绝对值 --- 某组合在N取M总组合数中所处的绝对位置。比如彩票双色球一组红球组合在33选6中所处的绝对位置就是它的绝对值。
在VB-6语言程序中适当添加窗体设置,然后将以下代码复制到运行程序中即可。
程序代码如下:
Private Sub Form_Click()
Dim N, M, N1, M1, I, J, E, F, S, R, S1, H,P, L, K, Z, W(10), X1(10), Y1(10), Z1(10) As Integer
Dim Q0, Q, Q1(10) As String, XX(10), T, X,Y, A(100, 100) As Single
Cls
N = 100: M = 40: N1 = 30: M1 = 7: Y= 1: Text1.Text = "" '该程序为组合的绝对值计算通式,只需要调整数据N1,M1及组合数组
For I = 1 To N - M + 1: A(0, I) = 1:Next I
For I = 1 To M: A(I, 1) = Y * (N - M+ I) / I: Y = A(I, 1): Next I
For I = 1 To M: For J = 1 To N - M +1: A(I, J + 1) = A(I, J) - A(I - 1, J): Next J, I
X = Array(0, 11, 12, 14, 18,22, 28, 29): E = 0: F = 1: Y = 0: K = N - M - N1 + M1
For I = 1 To M1: If I =M1 Then F = 0
For J = 1 To X(I) - X(I- 1) - F: E = E + 1
Y = Y + A(M1 - I, K + E)
Next J, I
Text1.Text = Text1.Text+ " " + Str(N1) + "选" + Str(M1) + " 数组 "
For I = 1 To M1:Text1.Text = Text1.Text + Str(X(I)): Next I
Text1.Text = Text1.Text+ " 的绝对值 ==" + Str(Y)
End Sub
联系客服