vb高手些进进进

来源:百度知道 编辑:UC知道 时间:2024/06/04 19:57:59
看看这个“任何一个大于6的偶数都可以分解为两个素数之和”程序,怎么运行不起ne ?
Dim m, m1, m2, n, f, p
For m = 6 To 100 Step 2
p = " "
m1 = 1
aa: m1 = m1 + 1
n = m1
Call g(n, f)
If f = 1 Then GoTo aa
m2 = m - m1
n = m2
Call g(n, f)
If f = 1 Then GoTo aa
p = p & m & "=" & m1 & "+" & m2
List1.AddItem p
Next m
End Sub

Private Sub g()
f = 0
If n = 0 Then f = 0
j = Int(Sqr(n))
For i = 2 To j
If n Mod i = 0 Then f = 1
Next i

End Sub

我倒,至少应该写在form_click里面吧?
而且sub g()的括号里面应该写上你要传什么(比如 Sub g(o, d))
或者Call g(n, f)这里什么都不写(就写g或者Call g( ))

用goto确实不好啊同学~测试过得了~

Dim m, m1, m2, n, f, p
Sub g()
f = 0
If n = 0 Then f = 0
j = Int(Sqr(n))
For i = 2 To j
If n Mod i = 0 Then f = 1
Next i

End Sub

Private Sub Form_Click()
For m = 6 To 100 Step 2
p = " "
m1 = 1
aa: m1 = m1 + 1
n = m1
g
If f = 1 Then GoTo aa
m2 = m - m1
n = m2
g
If f = 1 Then GoTo aa
p = p & m & "=" & m1 & "+" & m2
List1.AddItem p
Next m

End Sub

vb支持goto任意跳转?