For i = 2 To sqr(m) '驗證到根號m即可,減少運算量
If (m Mod i) = 0 Then
Flag=1
Exit For
End if
Next i
If Flag = 0 Then
Print m
End if
Flag = 0‘清除標誌
Next m
妳說只能算到59可能是妳窗體太小了。這個代碼是沒有問題的。最好是用壹個文本框。代碼如下:
For m = 2 To 100
For i = 2 To sqr(m)
If (m Mod i) = 0 Then
Flag=1
Exit For
End if
Next i
If Flag = 0 Then
text1.text=text1.text & m & vbCrLf
End if
Flag = 0‘清除標誌
Next m
還有壹種不用標記flag的代碼可以這樣寫:
For m = 2 To 100
For i = 2 To sqr(m)
If (m Mod i) = 0 Then
Exit For
End if
Next i
If i<=sqrt(m) Then
text1.text=text1.text & m & vbCrLf
End if
Next m
這種算法就簡潔很多