一道VB题目,求各位会的大哥帮忙做下(填空题)
来源:百度知道 编辑:UC知道 时间:2024/05/27 09:15:36
Option Explicit
Private Sub Command1_Click()
Dim i As Integer
For i = 3 To 200
If prime(i) And prime(i + 2) Then
___________
End If
Next i
End Sub
Private Sub Command2_Click()
Dim i As Integer, flg As Boolean
Label1.Caption = "超级素数"
List1.Clear
For i = 1001 To 9999
Call sup_prime(i, flg)
If ___________ Then
List1.AddItem i
End If
Next i
End Sub
Private Function prime(x As Integer) As Boolean
Dim i As Integer
For i = 2 To Sqr(x)
If x Mod i = 0 Then
Exit Function
End If
Next i
prime = True
End Function
Private Sub sup_prime(___________, flg As Boolean)
flg = True
Do While n > 0
If prime(n) Then
请和你原来的代码比对一下:
Option Explicit
Private Sub Command1_Click()
Dim i As Integer
For i = 3 To 200
If prime(i) And prime(i + 2) Then
List1.AddItem i & " " & i + 2 '注释:列出孪生素数,两个数用空格分开
End If
Next i
End Sub
Private Sub Command2_Click()
Dim i As Integer, flg As Boolean
Label1.Caption = "超级素数"
List1.Clear
For i = 1001 To 9999
Call sup_prime(i, flg)
If i > 1999 And flg = True Then '注释:如果把1当素数,则这里只需填写flg=True即可,否则,要把1000-1999这些数排除。我们以前是把1排除的
List1.AddItem i
End If
Next i
End Sub
Private Function prime(x As Integer) As Boolean
Dim i As Integer
For i = 2 To Sqr(x)
If x Mod i = 0 Then
Exit Function
End If
Next i
prime = True
End Function
Private Sub sup_prime(ByVal n As Integer, flg As Boolean) '注释:n只能传值,所以必须要ByVal
flg = True
Do While n > 0
If prime(n) Then
n = n \ 10