|
telexon 发表于 2013-10-22 21:10
DEAR,为何验算又对呢,请帮助看一附件
代码应该这么写:
- Sub js()
- Dim jg(65535, 2), i&, j&, k&, x, y, z, s, t&
- x = [d2]: y = [e2]: z = [f2]: s = [g2]
- For i = 0 To s \ x
- For j = 0 To (s - x * i) \ y
- k = (s - x * i - y * j) \ z
- If s = x * i + y * j + z * k Then
- jg(t, 0) = i
- jg(t, 1) = j
- jg(t, 2) = k
- t = t + 1
- End If
- Next
- Next
- [a:c] = ""
- [a1].Resize(t, 3) = jg
- MsgBox t
- End Sub
复制代码 第3个参数不用循环,可以直接计算得到。
以上代码允许参数值=0
如果3个参数都不允许=0则代码如下:
- Sub js2()
- Dim jg(65535, 2), i&, j&, k&, x, y, z, s, t&
- x = [d2]: y = [e2]: z = [f2]: s = [g2]
- For i = 1 To s \ x
- For j = 1 To (s - x * i) \ y
- k = (s - x * i - y * j) \ z
- If k Then
- If s = x * i + y * j + z * k Then
- jg(t, 0) = i
- jg(t, 1) = j
- jg(t, 2) = k
- t = t + 1
- End If
- End If
- Next
- Next
- [a:c] = ""
- [a1].Resize(t, 3) = jg
- MsgBox t
- End Sub
复制代码 |
评分
-
查看全部评分
|