最前面加 print 2
没什么可说的,2必然是,加上就行,当手动优化。
或者这个,求较小的素数用(比如100):
Const maxn = 100
Private Sub Command1_Click()
Dim i As Long, j As Long
Dim a(1 To maxn) As Boolean
For i = 2 To maxn
a(i) = True
Next i
For i = 2 To Sqr(maxn)
For j = 2 To maxn \ i
a(i * j) = False
Next j
Next i
For i = 1 To maxn
If a(i) Then Text1.Text = Text1.Text & " " & i
If i Mod 20 = 0 Then Text1.Text = Text1.Text & " " & Chr(13)
Next i
End Sub
Private Sub Command2_Click()
Text2.Value = 0
Dim str1 As String
Dim i As Integer, j As Integer
'a = Int(InputBox("请输入多少之内的素数", "求出素数测试", "50", 200, 500))
For i = 2 To 100
For j = 2 To Int(Sqr(i)) + 1
If i Mod j = 0 Then
Exit For
ElseIf j = Int(Sqr(i)) + 1 Then
str1 = str1 + Str(i)
End If
Next
If j = Int(Sqr(i)) + 1 Then str1 = str1 + Str(i)
Next
Text2.Value = str1
End Sub